/* King Squishy Holiday FX · fall（浅色）· build p20261020-003208 */
/* ===== Christmas / fall — 生成件（勿手改，改配方或 css.py 后重跑 build_pack.py） ===== */
:root{--pop-cream:#FBF3E4;--pop-cream-deep:#F4E7D2;--pop-line:#E0CFB6;--pop-ink:#3A2A1E;--pop-ink-soft:#7A6350;--pop-surface:#FFFCF5;--pop-tint-peach:#F7E6CF;--pop-tint-sky:#E7EDF2;--pop-tint-butter:#F8EFCE;--pop-tint-mint:#E8EFDC;--pop-tint-lilac:#EFE9F2;--pop-radius:18px;--pop-radius-lg:26px;--pop-ease:cubic-bezier(.2,.9,.3,1);--pop-spring:cubic-bezier(.34,1.66,.5,1);--ksfx-red:#A8521F;--ksfx-red-deep:#8A4319;--ksfx-green:#5F6C35;--ksfx-green-deep:#4C572B;--ksfx-gold:#D9A22B;--ksfx-gold-soft:#F2DFB2;--ksfx-white:#FFFFFF;--ksfx-ice:#F0D8B8;--ksfx-glow:rgba(196,98,43,.18);--ksfx-surface:#FFFFFF;--ksfx-surface-2:#FFFBF2;--ksfx-tint-1:#FBF2E2;--ksfx-tint-2:#F6EFE6;--ksfx-band-bg:#2B241E;--ksfx-band-2:#292219;--ksfx-band-fg:#FBF3E4;--ksfx-band-fg-soft:rgba(255,246,235,.82);--ksfx-note-fg:#B23A12;--ksfx-panel-link:#B23A12;--ksfx-row:rgba(58,42,30,.07);--ksfx-onaccent:#FFFFFF;--ksfx-onstrip:#FFF6EB;--ksfx-onstrip2:#F3DEC2;--ksfx-onstrip-line:rgba(255,246,235,.5);--ksfx-prose:#38251C;--ksfx-focus-ring:rgba(58,42,30,.22);--ksfx-el-shadow:rgba(58,42,30,.18);--ksfx-blob-1:#FBF3E4;--ksfx-blob-2:#F6E7CE;--ksfx-blob-3:#F0DCC0;--ksfx-blob-4:rgba(240,220,192,0);--ksfx-m-acorn:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg stroke='%233A2A1E' stroke-width='1.45' stroke-linejoin='round'%3E%3Cpath d='M6.6 9.4h10.8c0 5.6-2.4 10-5.4 11.2C9 19.4 6.6 15 6.6 9.4z' fill='%23D9A22B'/%3E%3Cpath d='M5.6 9.4c0-2.7 2.9-4.9 6.4-4.9s6.4 2.2 6.4 4.9z' fill='%238A4319'/%3E%3Cpath d='M12 4.5V2.6' fill='none' stroke='%237A6350' stroke-width='1.5' stroke-linecap='round'/%3E%3C/g%3E%3C/svg%3E");--ksfx-m-acorn_s:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg stroke='%233A2A1E' stroke-width='1.45' stroke-linejoin='round'%3E%3Cpath d='M5.6 9.8h12.8c0 6.6-3 11.4-6.4 12.6-3.4-1.2-6.4-6-6.4-12.6z' fill='%23D9A22B'/%3E%3Cpath d='M4.2 9.8c0-3.3 3.5-5.9 7.8-5.9s7.8 2.6 7.8 5.9z' fill='%238A4319'/%3E%3C/g%3E%3C/svg%3E");--ksfx-m-apple:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg stroke='%233A2A1E' stroke-width='1.45' stroke-linejoin='round'%3E%3Cpath d='M12 6.6c1.6-1.4 3.6-1.6 5.2-.6 2 1.3 2.6 4 1.9 6.6-.9 3.4-3.4 7.6-5.6 8.6-1.2.5-2.4.5-3.6 0-2.2-1-4.7-5.2-5.6-8.6-.7-2.6-.1-5.3 1.9-6.6 1.6-1 3.6-.8 5.2.6z' fill='%23A8521F'/%3E%3Cpath d='M12 6.4c0-2 .9-3.4 2.6-4.2' fill='none' stroke='%237A6350' stroke-width='1.5' stroke-linecap='round'/%3E%3Cpath d='M12.6 4.4c1.6-1.4 3.6-1.6 4.8-.6-1 1.5-2.8 2.2-4.8 1.8z' fill='%235F6C35'/%3E%3C/g%3E%3C/svg%3E");--ksfx-m-bow:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg stroke='%233A2A1E' stroke-width='1.5' stroke-linejoin='round'%3E%3Cpath d='M11.4 12.4C9.7 9.8 7.6 8.8 6.1 9.9c-1.4 1-1 3.1.9 3.9 1.7.7 3.3.3 4.4-1.4Z' fill='%23D9A22B'/%3E%3Cpath d='M12.6 12.4c1.7-2.6 3.8-3.6 5.3-2.5 1.4 1 1 3.1-.9 3.9-1.7.7-3.3.3-4.4-1.4Z' fill='%23D9A22B'/%3E%3Cpath d='M10.8 13.4 8.4 19.2M13.2 13.4l2.4 5.8' fill='none' stroke-width='1.4'/%3E%3Ccircle cx='12' cy='13.2' r='1.9' fill='%23A8521F'/%3E%3C/g%3E%3C/svg%3E");--ksfx-m-chestnut:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg stroke='%233A2A1E' stroke-width='1.45' stroke-linejoin='round'%3E%3Cpath d='M12 2.8c3.6 0 6.6 3 6.6 6.8 0 4-2.8 8.4-6.6 9.6-3.8-1.2-6.6-5.6-6.6-9.6 0-3.8 3-6.8 6.6-6.8z' fill='%238A4319'/%3E%3Cpath d='M10.4 2.6h3.2L12 5.4z' fill='%23F4E7D2'/%3E%3Cpath d='M5.6 14.2h12.8c-.8 3.2-3.2 5.8-6.4 7-3.2-1.2-5.6-3.8-6.4-7z' fill='%23F4E7D2'/%3E%3C/g%3E%3C/svg%3E");--ksfx-m-cloud:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg stroke='%233A2A1E' stroke-width='1.5' stroke-linejoin='round'%3E%3Cpath d='M4.8 15.6c-2 0-3.4-1.5-3.4-3.2s1.5-3.2 3.6-3.2c.3-2.5 2.4-4.4 5-4.4 2.3 0 4.2 1.5 4.8 3.6.4-.2 1-.3 1.5-.3 2.3 0 4 1.7 4 3.8s-1.7 3.7-4 3.7z' fill='%23F2DFB2'/%3E%3Cpath d='M5.4 12.6h11' fill='none' stroke-width='.9' opacity='.5'/%3E%3C/g%3E%3C/svg%3E");--ksfx-m-corn:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg stroke='%233A2A1E' stroke-width='1.45' stroke-linejoin='round'%3E%3Cpath d='M12 2.2c3.2 0 5.4 3.4 5.4 7.6S15.2 20 12 21.8c-3.2-1.8-5.4-7.6-5.4-12S8.8 2.2 12 2.2z' fill='%23D9A22B'/%3E%3Cg fill='%23F2DFB2'%3E%3Ccircle cx='12' cy='6' r='1'/%3E%3Ccircle cx='9.8' cy='8.4' r='.95'/%3E%3Ccircle cx='14.2' cy='8.4' r='.95'/%3E%3Ccircle cx='12' cy='10.8' r='1'/%3E%3Ccircle cx='9.8' cy='13.2' r='.95'/%3E%3Ccircle cx='14.2' cy='13.2' r='.95'/%3E%3Ccircle cx='12' cy='15.6' r='1'/%3E%3Ccircle cx='12' cy='18.6' r='.9'/%3E%3C/g%3E%3Cpath d='M7.4 8.2C4.4 10.4 3 14 3.6 18.2c3-.2 5-1.8 6-4.6M16.6 8.2c3 2.2 4.4 5.8 3.8 10-3-.2-5-1.8-6-4.6' fill='%235F6C35'/%3E%3C/g%3E%3C/svg%3E");--ksfx-m-fall_basket:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg stroke='%233A2A1E' stroke-width='1.45' stroke-linejoin='round'%3E%3Cpath d='M3.6 10.4h16.8l-1.8 9.2c-.2 1-1 1.8-2.1 1.8H7.5c-1.1 0-1.9-.8-2.1-1.8z' fill='%23F2DFB2'/%3E%3Cpath d='M3 10.4c1.6-1.6 4-2.4 6.6-2.4h4.8c2.6 0 5 .8 6.6 2.4z' fill='%238A4319'/%3E%3Cg fill='%23A8521F'%3E%3Ccircle cx='8.4' cy='7.6' r='2.2'/%3E%3Ccircle cx='12' cy='6.8' r='2.4'/%3E%3Ccircle cx='15.6' cy='7.6' r='2.2'/%3E%3C/g%3E%3Cg fill='none' stroke='%23D9A22B' stroke-width='.9'%3E%3Cpath d='M6.8 12.6v7M12 12.6v7M17.2 12.6v7'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");--ksfx-m-ginkgo:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg stroke='%233A2A1E' stroke-width='1.45' stroke-linejoin='round'%3E%3Cpath d='M12 13.6C8.6 13.6 4.9 10.9 4.3 6.6 6.6 4.9 9.2 4.1 11.3 4.3c.4 1.2.4 2.2.7 3 .3-.8.3-1.8.7-3 2.1-.2 4.7.6 7 2.3-.6 4.3-4.3 7-7.7 7z' fill='%23D9A22B'/%3E%3Cpath d='M12 13.6V21' fill='none' stroke='%23F2DFB2' stroke-width='1.6' stroke-linecap='round'/%3E%3C/g%3E%3C/svg%3E");--ksfx-m-hay_bale:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg stroke='%233A2A1E' stroke-width='1.45' stroke-linejoin='round'%3E%3Cpath d='M3.6 8.2h16.8v9.4c0 1.1-.9 2-2 2H5.6c-1.1 0-2-.9-2-2z' fill='%23D9A22B'/%3E%3Cpath d='M3.6 8.2c0-1.1.9-2 2-2h12.8c1.1 0 2 .9 2 2z' fill='%23F2DFB2'/%3E%3Cg fill='none' stroke='%238A4319' stroke-width='1.5'%3E%3Cpath d='M8 6.2v13.4M16 6.2v13.4'/%3E%3C/g%3E%3Cg fill='none' stroke='%23F2DFB2' stroke-width='.85' stroke-linecap='round'%3E%3Cpath d='M5 10.4h2M5 12.6h2M5 14.8h2M10 10.4h1.6M10 13h1.6M17 10.4h2M17 12.6h2M17 14.8h2M12.8 11.4h1.4M12.8 14h1.4'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");--ksfx-m-hot_cocoa:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg stroke='%233A2A1E' stroke-width='1.45' stroke-linejoin='round'%3E%3Cpath d='M3.8 8.2h13.4v7.6c0 2.6-2.1 4.7-4.7 4.7H8.5c-2.6 0-4.7-2.1-4.7-4.7z' fill='%23F4E7D2'/%3E%3Cpath d='M5.6 10h9.6v5.6c0 1.9-1.5 3.4-3.4 3.4H9c-1.9 0-3.4-1.5-3.4-3.4z' fill='%237A6350'/%3E%3Cpath d='M17.2 9.6c1.6 0 2.8 1 2.8 2.6s-1.2 2.6-2.8 2.6' fill='none' stroke='%23F4E7D2' stroke-width='2'/%3E%3Cg fill='none' stroke='%23F4E7D2' stroke-width='1.4' stroke-linecap='round' opacity='.9'%3E%3Cpath d='M7.6 6.4c-.8-.9-.8-1.8 0-2.7'/%3E%3Cpath d='M10.6 6.4c-.8-.9-.8-1.8 0-2.7'/%3E%3Cpath d='M13.6 6.4c-.8-.9-.8-1.8 0-2.7'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");--ksfx-m-lantern:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg stroke='%233A2A1E' stroke-width='1.45' stroke-linejoin='round'%3E%3Cpath d='M12 1.6v2' fill='none' stroke='%23F2DFB2' stroke-width='1.3' stroke-linecap='round'/%3E%3Cpath d='M9 4.6h6v1.8H9z' fill='%23F2DFB2'/%3E%3Cellipse cx='12' cy='12.6' rx='7' ry='6.4' fill='%23A8521F'/%3E%3Cg fill='none' stroke='%23D9A22B' stroke-width='1.1'%3E%3Cpath d='M12 6.2v12.8'/%3E%3Cpath d='M9.2 6.6c-1.6 3.6-1.6 8.4 0 12'/%3E%3Cpath d='M14.8 6.6c1.6 3.6 1.6 8.4 0 12'/%3E%3C/g%3E%3Cpath d='M9 18.4h6v1.8H9z' fill='%23F2DFB2'/%3E%3C/g%3E%3C/svg%3E");--ksfx-m-leaf:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg stroke='%233A2A1E' stroke-width='1.45' stroke-linejoin='round'%3E%3Cpath d='M12 3.2c4.4 2.9 6.6 6.8 6.6 10.4 0 3.5-2.9 6.4-6.6 6.4s-6.6-2.9-6.6-6.4C5.4 10 7.6 6.1 12 3.2z' fill='%235F6C35'/%3E%3Cpath d='M12 5.6v13.4M12 9.6 8.8 7.6M12 9.6l3.2-2M12 13.8l-3.4-2.2M12 13.8l3.4-2.2' fill='none' stroke='%234C572B' stroke-width='.95'/%3E%3C/g%3E%3C/svg%3E");--ksfx-m-leaf_band:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='18' viewBox='0 0 120 18'%3E%3Cg%3E%3Cpath d='M0 9h120' stroke='%23F2DFB2' stroke-width='1.2' opacity='.5'/%3E%3Cg fill='%23A8521F'%3E%3Cpath d='M12 4.4c3.4 2.3 5 5.1 5 7.8-3.4-.2-5.6-2.4-6.4-5.4z'/%3E%3Cpath d='M52 5.6c3.2 2.2 4.8 4.8 4.8 7.4-3.2-.2-5.4-2.3-6.1-5.1z'/%3E%3Cpath d='M92 4.8c3.4 2.3 5 5.1 5 7.8-3.4-.2-5.6-2.4-6.4-5.4z'/%3E%3C/g%3E%3Cg fill='%235F6C35'%3E%3Cpath d='M32 12.6c3.2-2.2 4.8-4.8 4.8-7.4-3.2.2-5.4 2.3-6.1 5.1z'/%3E%3Cpath d='M72 12.2c3.2-2.2 4.8-4.8 4.8-7.4-3.2.2-5.4 2.3-6.1 5.1z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");--ksfx-m-leaf_dots:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120' viewBox='0 0 120 120'%3E%3Cg fill='%23D9A22B' opacity='.30'%3E%3Ccircle cx='14' cy='16' r='2.1'/%3E%3Ccircle cx='44' cy='8' r='1.6'/%3E%3Ccircle cx='76' cy='20' r='2.3'/%3E%3Ccircle cx='106' cy='10' r='1.7'/%3E%3Ccircle cx='26' cy='48' r='1.8'/%3E%3Ccircle cx='58' cy='42' r='2.2'/%3E%3Ccircle cx='90' cy='52' r='1.6'/%3E%3Ccircle cx='16' cy='82' r='2.2'/%3E%3Ccircle cx='48' cy='74' r='1.7'/%3E%3Ccircle cx='80' cy='88' r='2.1'/%3E%3Ccircle cx='110' cy='76' r='1.8'/%3E%3Ccircle cx='36' cy='106' r='1.9'/%3E%3Ccircle cx='68' cy='112' r='2.2'/%3E%3Ccircle cx='100' cy='104' r='1.6'/%3E%3C/g%3E%3C/svg%3E");--ksfx-m-leaf_s:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg stroke='%233A2A1E' stroke-width='1.45' stroke-linejoin='round'%3E%3Cpath d='M12 2.6c4.9 3.2 7.4 7.4 7.4 11.4 0 3.9-3.2 7.2-7.4 7.2S4.6 17.9 4.6 14C4.6 10 7.1 5.8 12 2.6z' fill='%23A8521F'/%3E%3Cpath d='M12 6v14' fill='none' stroke='%23FBF3E4' stroke-width='1.9' stroke-linecap='round'/%3E%3C/g%3E%3C/svg%3E");--ksfx-m-maple:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg stroke='%233A2A1E' stroke-width='1' stroke-linejoin='round'%3E%3Cpath d='M12 2.5c.8 2 1.6 3.1 2.8 3.7l-.6 2.9c1.4-1 2.9-2.2 4.1-2l-1.2 3.9c1.6-.4 3.1-.2 3.9.8-1.4 1.2-2.4 2-2.8 3.4 1 .6 1.8 1.6 2 2.8-2.4 0-4.6-.4-6.2.4-.4 1-.8 1.8-1.8 2.4-1-.6-1.4-1.4-1.8-2.4-1.6-.8-3.8-.4-6.2-.4.2-1.2 1-2.2 2-2.8-.4-1.4-1.4-2.2-2.8-3.4.8-1 2.3-1.2 3.9-.8l-1.2-3.9c1.2-.2 2.7 1 4.1 2l-.6-2.9c1.2-.6 2-1.7 2.8-3.7z' fill='%23A8521F'/%3E%3Cpath d='M12 14.8v7' fill='none' stroke='%238A4319' stroke-width='1.4' stroke-linecap='round'/%3E%3C/g%3E%3C/svg%3E");--ksfx-m-mushroom:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg stroke='%233A2A1E' stroke-width='1.45' stroke-linejoin='round'%3E%3Cpath d='M3.8 11.4c0-4.2 3.7-7.4 8.2-7.4s8.2 3.2 8.2 7.4z' fill='%23A8521F'/%3E%3Cg fill='%23FBF3E4'%3E%3Ccircle cx='8.4' cy='8.6' r='1.2'/%3E%3Ccircle cx='14.6' cy='7.8' r='1'/%3E%3Ccircle cx='11.6' cy='9.8' r='.85'/%3E%3C/g%3E%3Cpath d='M9.6 11.6h4.8v7.2c0 1.3-1.1 2.4-2.4 2.4s-2.4-1.1-2.4-2.4z' fill='%23F4E7D2'/%3E%3C/g%3E%3C/svg%3E");--ksfx-m-mushroom_s:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg stroke='%233A2A1E' stroke-width='1.45' stroke-linejoin='round'%3E%3Cpath d='M2.8 11.8c0-5 4.1-8.8 9.2-8.8s9.2 3.8 9.2 8.8z' fill='%23A8521F'/%3E%3Cg fill='%23FBF3E4'%3E%3Ccircle cx='8' cy='7.6' r='1.5'/%3E%3Ccircle cx='15.4' cy='8.4' r='1.2'/%3E%3C/g%3E%3Cpath d='M9.2 12h5.6v7.6c0 1.5-1.3 2.8-2.8 2.8s-2.8-1.3-2.8-2.8z' fill='%23F4E7D2'/%3E%3C/g%3E%3C/svg%3E");--ksfx-m-paper_grid:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cg stroke='%233A2A1E' stroke-width='.6' opacity='.10'%3E%3Cpath d='M0 6h24M0 12h24M0 18h24M6 0v24M12 0v24M18 0v24'/%3E%3C/g%3E%3C/svg%3E");--ksfx-m-pear:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg stroke='%233A2A1E' stroke-width='1.45' stroke-linejoin='round'%3E%3Cpath d='M12 3.4c1.7 0 3 1.4 3 3.2 0 1.5-.7 2.3-1.1 3.4-.5 1.3.2 2.1 1.1 3.4 1.5 2.2 2.2 4.3 1.4 6.2-1 2.4-2.8 3.2-4.4 3.2s-3.4-.8-4.4-3.2c-.8-1.9-.1-4 1.4-6.2.9-1.3 1.6-2.1 1.1-3.4-.4-1.1-1.1-1.9-1.1-3.4 0-1.8 1.3-3.2 3-3.2z' fill='%23D9A22B'/%3E%3Cpath d='M12 3.2c0-1.2.7-2 1.8-2.4' fill='none' stroke='%237A6350' stroke-width='1.4' stroke-linecap='round'/%3E%3C/g%3E%3C/svg%3E");--ksfx-m-pine_cone:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg stroke='%233A2A1E' stroke-width='1.45' stroke-linejoin='round'%3E%3Cpath d='M12 2.4c3.7 2.4 5.8 6.4 5.8 10.6 0 4-2.6 7.2-5.8 8.6-3.2-1.4-5.8-4.6-5.8-8.6 0-4.2 2.1-8.2 5.8-10.6z' fill='%237A6350'/%3E%3Cg fill='none' stroke='%23F2DFB2' stroke-width='1.15' stroke-linecap='round'%3E%3Cpath d='M7.6 9.2l4.4-2.6 4.4 2.6'/%3E%3Cpath d='M6.9 12.8l5.1-3 5.1 3'/%3E%3Cpath d='M7.2 16.4l4.8-2.8 4.8 2.8'/%3E%3Cpath d='M9 19.6l3-1.8 3 1.8'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");--ksfx-m-pinecone:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg stroke='%233A2A1E' stroke-width='1.4' stroke-linejoin='round'%3E%3Cpath d='M12 3.6c3.9 0 6.6 4.8 6.6 9.6 0 4.2-2.8 7.4-6.6 7.4s-6.6-3.2-6.6-7.4C5.4 8.4 8.1 3.6 12 3.6Z' fill='%23D9A22B'/%3E%3Cpath d='M6.7 10.2c3.4 1.6 7.2 1.6 10.6 0M6.3 13.6c3.8 1.7 7.6 1.7 11.4 0M7.4 17c3 1.4 6.2 1.4 9.2 0' fill='none' stroke-width='1.1' opacity='.6'/%3E%3Cpath d='M12 3.6V1.4' fill='none' stroke-width='1.6' stroke-linecap='round'/%3E%3C/g%3E%3C/svg%3E");--ksfx-m-pinwheel:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg stroke='%233A2A1E' stroke-width='1.5' stroke-linejoin='round'%3E%3Cpath d='M12 11.2V3.6a7.6 7.6 0 0 1 7.6 7.6z' fill='%23A8521F'/%3E%3Cpath d='M12 11.2h7.6a7.6 7.6 0 0 1-7.6 7.6z' fill='%23E8C24A'/%3E%3Cpath d='M12 11.2v7.6a7.6 7.6 0 0 1-7.6-7.6z' fill='%237E94A8'/%3E%3Cpath d='M12 11.2H4.4A7.6 7.6 0 0 1 12 3.6z' fill='%235F6C35'/%3E%3Ccircle cx='12' cy='11.2' r='1.4' fill='%233A2A1E'/%3E%3Cpath d='M12 11.2 8.2 21.8' fill='none' stroke='%233A2A1E' stroke-width='1.5'/%3E%3C/g%3E%3C/svg%3E");--ksfx-m-rain_boot:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg stroke='%233A2A1E' stroke-width='1.45' stroke-linejoin='round'%3E%3Cpath d='M8.2 2.8h5.6v8.6h2.6c1.8 0 3 1.2 3 3.2v4.2c0 1.4-1 2.4-2.4 2.4H8.2z' fill='%23D9A22B'/%3E%3Cpath d='M8.2 8.4h5.6' fill='none' stroke='%23F2DFB2' stroke-width='1.2'/%3E%3Cpath d='M8.2 17.4h11' fill='none' stroke='%237A6350' stroke-width='1.8'/%3E%3C/g%3E%3C/svg%3E");--ksfx-m-rainbow:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg stroke='%233A2A1E' stroke-width='1.5' stroke-linejoin='round'%3E%3Cpath d='M3 19.4a9 9 0 0 1 18 0' fill='none' stroke='%23A8521F' stroke-width='3.4'/%3E%3Cpath d='M6.2 19.4a5.8 5.8 0 0 1 11.6 0' fill='none' stroke='%23E8C24A' stroke-width='3.4'/%3E%3Cpath d='M9.4 19.4a2.6 2.6 0 0 1 5.2 0' fill='none' stroke='%237E94A8' stroke-width='3.4'/%3E%3Ccircle cx='4.6' cy='20.6' r='2.3' fill='%23FFFFFF'/%3E%3Ccircle cx='19.4' cy='20.6' r='2.3' fill='%23FFFFFF'/%3E%3C/g%3E%3C/svg%3E");--ksfx-m-scarf:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg stroke='%233A2A1E' stroke-width='1.45' stroke-linejoin='round'%3E%3Cpath d='M4.4 4.2 8 2.4l5.6 6.2 3-1.6 2.4 2.8-3.2 1.9 2.6 3-2.4 2.2-2.8-2.9-5.4 9.8-3.4-1.6 5.2-10.2z' fill='%23A8521F'/%3E%3Cpath d='M10.6 8.8l3.2 3.2' fill='none' stroke='%23D9A22B' stroke-width='1.4'/%3E%3Cg fill='none' stroke='%23F2DFB2' stroke-width='1.1' stroke-linecap='round'%3E%3Cpath d='M4.4 4.2 3 2.2M6 3.4 5 1.4M17.6 20.2l.6 2M19.4 18.6l1 1.8'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");--ksfx-m-sparkle:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2.6c.9 4.6 2.7 6.4 7.3 7.3-4.6.9-6.4 2.7-7.3 7.3-.9-4.6-2.7-6.4-7.3-7.3 4.6-.9 6.4-2.7 7.3-7.3Z' fill='%23D9A22B' stroke='%233A2A1E' stroke-width='1.4' stroke-linejoin='round'/%3E%3Cpath d='M19.4 15.6c.3 1.6 1 2.3 2.6 2.6-1.6.3-2.3 1-2.6 2.6-.3-1.6-1-2.3-2.6-2.6 1.6-.3 2.3-1 2.6-2.6Z' fill='%23FFFFFF' stroke='%233A2A1E' stroke-width='1.1' stroke-linejoin='round'/%3E%3C/svg%3E");--ksfx-m-squirrel:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg stroke='%233A2A1E' stroke-width='1.45' stroke-linejoin='round'%3E%3Cpath d='M3.4 21.2c-2.8-3.6-2.4-9 1.2-11.6 2.9-2 6.6-.7 7.2 2.4.5 2.7-1.5 4.5-3.8 5.1-1.8.5-3.3 1.5-4.6 4.1z' fill='%238A4319'/%3E%3Cellipse cx='13.6' cy='15.8' rx='3.5' ry='4.9' fill='%238A4319'/%3E%3Ccircle cx='14.6' cy='8.6' r='3.9' fill='%238A4319'/%3E%3Cpath d='M11.6 5.6 12.9 8l2.4-2.6z' fill='%238A4319'/%3E%3Ccircle cx='13.6' cy='8' r='.8' fill='%233A2A1E'/%3E%3Ccircle cx='17.9' cy='9.4' r='.75' fill='%237A6350'/%3E%3C/g%3E%3C/svg%3E");--ksfx-m-stitch_line:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='16' viewBox='0 0 120 16'%3E%3Cpath d='M0 8h120' fill='none' stroke='%233A2A1E' stroke-width='1.6' stroke-dasharray='7 8' opacity='.28'/%3E%3C/svg%3E");--ksfx-m-sunny:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg stroke='%233A2A1E' stroke-width='1.5' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12.2' r='6' fill='%23D9A22B'/%3E%3Cpath d='M12 2.2v2.4M12 19.8v2.4M2.2 12.2h2.4M19.4 12.2h2.4M5.2 5.4l1.7 1.7M17.1 17.3l1.7 1.7M18.8 5.4l-1.7 1.7M6.9 17.3l-1.7 1.7' fill='none' stroke='%233A2A1E' stroke-width='1.7' stroke-linecap='round'/%3E%3C/g%3E%3C/svg%3E");--ksfx-m-tape:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 96 24'%3E%3Cpath d='M3 6 9 3.8 15 6 21 3.9 27 6 33 3.8 39 6 45 3.9 51 6 57 3.8 63 6 69 3.9 75 6 81 3.8 87 6 93 4.2 93 18 87 20.2 81 18 75 20.1 69 18 63 20.2 57 18 51 20.1 45 18 39 20.2 33 18 27 20.1 21 18 15 20.2 9 18 3 20Z' fill='%23A8521F' opacity='.8'/%3E%3Cpath d='M3 6 9 3.8 15 6 21 3.9 27 6 33 3.8 39 6 45 3.9 51 6 57 3.8 63 6 69 3.9 75 6 81 3.8 87 6 93 4.2' fill='none' stroke='%233A2A1E' stroke-width='1.1' opacity='.55'/%3E%3Cg stroke='%23F2DFB2' stroke-width='3' opacity='.5'%3E%3Cpath d='M3 12h90'/%3E%3C/g%3E%3C/svg%3E");--ksfx-m-tape2:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 96 24'%3E%3Cpath d='M3 6 9 3.8 15 6 21 3.9 27 6 33 3.8 39 6 45 3.9 51 6 57 3.8 63 6 69 3.9 75 6 81 3.8 87 6 93 4.2 93 18 87 20.2 81 18 75 20.1 69 18 63 20.2 57 18 51 20.1 45 18 39 20.2 33 18 27 20.1 21 18 15 20.2 9 18 3 20Z' fill='%235F6C35' opacity='.78'/%3E%3Cpath d='M3 6 9 3.8 15 6 21 3.9 27 6 33 3.8 39 6 45 3.9 51 6 57 3.8 63 6 69 3.9 75 6 81 3.8 87 6 93 4.2' fill='none' stroke='%233A2A1E' stroke-width='1.1' opacity='.5'/%3E%3Cg fill='%23FFFFFF' opacity='.72'%3E%3Ccircle cx='12' cy='12' r='1.7'/%3E%3Ccircle cx='36' cy='12' r='1.7'/%3E%3Ccircle cx='60' cy='12' r='1.7'/%3E%3Ccircle cx='84' cy='12' r='1.7'/%3E%3C/g%3E%3C/svg%3E");--ksfx-m-umbrella:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg stroke='%233A2A1E' stroke-width='1.45' stroke-linejoin='round'%3E%3Cpath d='M12 2.8c5 0 9 3.6 9 8H3c0-4.4 4-8 9-8z' fill='%23A8521F'/%3E%3Cpath d='M7 10.8c0-2.7 2.2-4.9 5-4.9s5 2.2 5 4.9' fill='none' stroke='%23FBF3E4' stroke-width='1.5'/%3E%3Cpath d='M12 10.8v8.2c0 1.2 1 2 2.2 2s2.2-.8 2.2-2' fill='none' stroke='%238A4319' stroke-width='1.8' stroke-linecap='round'/%3E%3C/g%3E%3C/svg%3E");--ksfx-m-wheat:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg stroke='%233A2A1E' stroke-width='1.45' stroke-linejoin='round'%3E%3Cpath d='M12 22V9' fill='none' stroke='%23F2DFB2' stroke-width='2.1' stroke-linecap='round'/%3E%3Cg fill='%23D9A22B' stroke='%23F2DFB2' stroke-width='.7'%3E%3Cellipse cx='12' cy='4.9' rx='1.7' ry='2.6'/%3E%3Cellipse cx='9.2' cy='8.2' rx='1.7' ry='2.5' transform='rotate(-24 9.2 8.2)'/%3E%3Cellipse cx='14.8' cy='8.2' rx='1.7' ry='2.5' transform='rotate(24 14.8 8.2)'/%3E%3Cellipse cx='9.2' cy='12.4' rx='1.6' ry='2.3' transform='rotate(-24 9.2 12.4)'/%3E%3Cellipse cx='14.8' cy='12.4' rx='1.6' ry='2.3' transform='rotate(24 14.8 12.4)'/%3E%3C/g%3E%3Cg fill='none' stroke='%23F2DFB2' stroke-width='1' stroke-linecap='round'%3E%3Cpath d='M10.4 6.2 8.4 2.8M13.6 6.2 15.6 2.8M7.8 9.6 5.4 7M16.2 9.6 18.6 7'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");--ksfx-m-wheat_wave:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='26' viewBox='0 0 160 26'%3E%3Cpath d='M0 20c14-10 28-10 42 0s28 10 42 0 28-10 42 0 24 8 34 2' fill='none' stroke='%23D9A22B' stroke-width='2.2' opacity='.55'/%3E%3Cpath d='M0 12c14-8 28-8 42 0s28 8 42 0 28-8 42 0 24 6 34 1' fill='none' stroke='%238A4319' stroke-width='1.4' opacity='.35'/%3E%3C/svg%3E");}
/* ====== T0 顶/底 ====== */
body.pop-theme .pop-price-note{position:relative;background:linear-gradient(100deg,var(--ksfx-green-deep) 0%,var(--ksfx-green) 44%,var(--ksfx-red) 78%,var(--ksfx-red-deep) 100%)}
body.pop-theme .pop-price-note__text{color:var(--ksfx-onstrip)}
body.pop-theme .pop-price-note__inner::after{content:var(--ksfx-strip,"");margin-inline-start:12px;padding-inline-start:12px;font-weight:800;color:var(--ksfx-onstrip2);
  border-inline-start:2px solid var(--ksfx-onstrip-line);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media(max-width:1180px){body.pop-theme .pop-price-note__inner::after{display:none}}
body.pop-theme .pop-price-note::after{content:"";position:absolute;inset-inline:0;bottom:-18px;height:18px;pointer-events:none;z-index:3;
  background-image:var(--ksfx-m-leaf_band);background-repeat:repeat-x;background-size:120px 18px}
body.pop-theme .pop-footer{position:relative}
body.pop-theme .pop-footer__grid{position:relative}
body.pop-theme .pop-footer__grid::before{content:"";position:absolute;inset-inline:0;top:-19px;height:18px;pointer-events:none;opacity:.92;
  background-image:var(--ksfx-m-leaf_band);background-repeat:repeat-x;background-size:120px 18px}
body.pop-theme .pop-footer::after{content:"";position:absolute;inset-inline:0;top:-12px;height:26px;pointer-events:none;opacity:.85;
  background-image:var(--ksfx-m-wheat_wave);background-repeat:repeat-x;background-size:160px 26px}
body.pop-theme .pop-footer__pay-note{font-weight:700}
/* FXFULL 新增落点：页脚 CTA 的「和纸胶带」——老缺口（页脚只在顶部挂了松枝串，CTA 本体 0 装饰） */
body.pop-theme .pop-footer__cta{position:relative}
/* 2026-10-13 视觉巡检：原来 `top:-13px` 的下半被卡片内容层盖住 → 只剩一条 13px 碎片，像残留物。
   加 z-index 让整条和纸胶带骑在卡片上沿（这才是设计本意：胶带压边）。 */
body.pop-theme .pop-footer__cta::after{content:"";position:absolute;inset-inline-end:16px;top:-13px;width:64px;height:22px;pointer-events:none;opacity:.9;z-index:2;
  background-image:var(--ksfx-m-tape);background-repeat:no-repeat;background-size:contain;transform:rotate(6deg)}

/* ====== T1 材质：整页霜纸 + 暖光 ====== */
body.pop-theme{background-color:var(--pop-cream);
  background-image:var(--ksfx-m-leaf_dots),radial-gradient(1100px 460px at 50% -180px,var(--ksfx-glow),rgba(255,255,255,0) 74%);
  background-repeat:repeat,no-repeat;background-size:240px 240px,auto}
body.pop-theme .pop-hero__blob{background:radial-gradient(circle at 50% 42%,var(--ksfx-blob-1) 0%,var(--ksfx-blob-2) 46%,var(--ksfx-blob-3) 74%,var(--ksfx-blob-4) 100%)}
body.pop-theme .pop-page-hero{position:relative;overflow:hidden}
body.pop-theme .pop-page-hero::before{content:"";position:absolute;inset-inline:0;top:0;height:16px;pointer-events:none;opacity:.95;
  background-image:var(--ksfx-m-stitch_line);background-repeat:repeat-x;background-size:120px 16px}
body.pop-theme .pop-page-hero::after{content:"";position:absolute;inset-inline:0;bottom:0;height:26px;pointer-events:none;opacity:.9;
  background-image:var(--ksfx-m-wheat_wave);background-repeat:repeat-x;background-size:160px 26px}
body.pop-theme .pop-section{position:relative}
body.pop-theme .pop-section::before{content:"";position:absolute;inset-inline-end:16px;top:10px;width:22px;height:22px;pointer-events:none;opacity:.5;
  background-image:var(--ksfx-m-pinecone);background-repeat:no-repeat;background-size:contain}
body.pop-theme .pop-head h2{position:relative;padding-inline-start:32px}
body.pop-theme .pop-head h2::before{content:"";position:absolute;inset-inline-start:0;top:50%;width:24px;height:24px;margin-top:-12px;
  background-image:var(--ksfx-m-pinecone);background-repeat:no-repeat;background-size:contain}
body.pop-theme .pop-trust{position:relative;padding-top:16px}
body.pop-theme .pop-trust::after{content:"";position:absolute;inset-inline:0;top:-2px;height:16px;pointer-events:none;opacity:.9;
  background-image:var(--ksfx-m-stitch_line);background-repeat:repeat-x;background-size:120px 16px}
body.pop-theme .pop-cats{position:relative}
body.pop-theme .pop-cat{position:relative}
body.pop-theme .pop-cat::before{content:"";position:absolute;inset-inline-end:10px;top:8px;width:26px;height:26px;pointer-events:none;opacity:.9;
  background-image:var(--ksfx-m-pinecone);background-repeat:no-repeat;background-size:contain}
/* 品类卡原有的 3n+2 / 3n 相位已交给配方 slots（T2b 位子轮换）统一管理 → 此处不再各写一半 */
body.pop-theme .pop-cta{position:relative;border:2px solid var(--pop-ink);border-radius:20px;box-shadow:0 5px 0 var(--pop-ink);
  background-color:var(--ksfx-band-bg);color:var(--ksfx-band-fg);
  background-image:var(--ksfx-m-leaf_dots),linear-gradient(180deg,var(--ksfx-band-bg),var(--ksfx-band-2));background-repeat:repeat,no-repeat;background-size:240px 240px,auto}
body.pop-theme .pop-latest-guides{position:relative}
body.pop-theme .pop-latest-guides::before{content:"";position:absolute;inset-inline-end:14px;top:-6px;width:34px;height:34px;pointer-events:none;opacity:.85;
  background-image:var(--ksfx-m-apple);background-repeat:no-repeat;background-size:contain}
/* ====== 批次 1 · 页眉（A1 公告条 / A2 主站头 / A3 主导航 / A4 下拉 / A5 控件 / A6 移动抽屉）====== */
@keyframes ksfxRing{0%,100%{transform:rotate(0deg)}22%{transform:rotate(11deg)}44%{transform:rotate(-9deg)}
  66%{transform:rotate(6deg)}82%{transform:rotate(-3deg)}}
/* A1 公告条：文案前一枚小铃铛。**默认完全静止**（D5：铃铛/星不自己动，指针来了才动）——
   静止=零主线程开销，也不会有"满屏都在动"的廉价感；悬停整条公告条时才摇一下（见 l1_interaction）。 */
body.pop-theme .pop-price-note__inner::before{content:"";width:17px;height:17px;flex:0 0 auto;margin-inline-end:8px;pointer-events:none;
  background-image:var(--ksfx-m-lantern);background-repeat:no-repeat;background-size:contain;
  transform-origin:50% 6%;transform:rotate(0deg)}
/* A2 主站头：logo 右上角一只知更鸟；页头下沿一条雪线（细、低对比、不挡任何内容） */
body.pop-theme .pop-brand{position:relative}
body.pop-theme .pop-brand::after{content:"";position:absolute;inset-inline-end:-3px;top:-12px;width:26px;height:26px;pointer-events:none;
  background-image:var(--ksfx-m-squirrel);background-repeat:no-repeat;background-size:contain;transform:rotate(9deg);
  transition:transform .3s var(--pop-spring)}
body.pop-theme .pop-header__inner{position:relative}
body.pop-theme .pop-header__inner::after{content:"";position:absolute;inset-inline:0;bottom:-1px;height:7px;pointer-events:none;opacity:.5;
  background-image:var(--ksfx-m-wheat_wave);background-repeat:repeat-x;background-size:150px 7px}
/* A3 主导航：当前项挂一支冬青（只在下拉父项/当前页上，页面里 1 处）；悬停时纸带下划线从中间展开 */
body.pop-theme .pop-nav ul li a{position:relative}
body.pop-theme .pop-nav > ul > li > a::after{content:"";position:absolute;inset-inline:7px;bottom:1px;height:5px;pointer-events:none;border-radius:3px;
  background:linear-gradient(90deg,rgba(60,120,90,0),var(--ksfx-red) 16%,var(--ksfx-gold) 50%,var(--ksfx-red) 84%,rgba(60,120,90,0));
  transform:scaleX(0);transform-origin:50% 50%;transition:transform .26s var(--pop-spring)}
body.pop-theme .pop-nav .current-menu-item a::before{content:"";position:absolute;inset-inline-end:-4px;top:-6px;width:16px;height:16px;pointer-events:none;
  background-image:var(--ksfx-m-fall_basket);background-repeat:no-repeat;background-size:contain;transform:rotate(12deg)}
/* A4 二级下拉：面板顶沿一条松枝串（面板本身已是 absolute + z-index 9999 —— ⚠️ 绝不能在这里写
   `position:relative`，那会把下拉从浮层打回文档流；绝对定位子元素对已定位祖先本来就成立） */
body.pop-theme .pop-nav ul.sub-menu::before{content:"";position:absolute;inset-inline:0;top:-11px;height:15px;pointer-events:none;opacity:.92;
  background-image:var(--ksfx-m-leaf_band);background-repeat:repeat-x;background-size:104px 15px}
/* A5 头部控件：搜索按钮挂一枚圣诞拉炮；搜索浮层顶部一条彩灯串 */
body.pop-theme .pop-search-toggle{position:relative}
body.pop-theme .pop-search-toggle::after{content:"";position:absolute;inset-inline-end:-4px;top:-6px;width:15px;height:15px;pointer-events:none;
  background-image:var(--ksfx-m-rainbow);background-repeat:no-repeat;background-size:contain;transform:rotate(-16deg)}
body.pop-theme .pop-search-modal{position:relative}
body.pop-theme .pop-search-modal::before{content:"";position:absolute;inset-inline:0;top:0;height:15px;pointer-events:none;opacity:.9;
  background-image:var(--ksfx-m-stitch_line);background-repeat:repeat-x;background-size:112px 15px}
/* A6 移动抽屉：顶部一条松枝横幅；滑入用贴纸回弹曲线（抽屉本身是 fixed + translateX，不会产生滚动条） */
body.pop-theme .pop-mobile-menu__head{position:relative}
body.pop-theme .pop-mobile-menu__head::after{content:"";position:absolute;inset-inline:0;bottom:-9px;height:15px;pointer-events:none;opacity:.92;
  background-image:var(--ksfx-m-leaf_band);background-repeat:repeat-x;background-size:104px 15px}
body.pop-theme .pop-mobile-menu{transition:transform .28s var(--pop-spring)}

/* ====== 批次 1 · 页脚（A7）====== */
/* 栏目标题下沿一串小彩灯（条带 → 不参与形状轮换预算；三个标题各一条） */
body.pop-theme .pop-footer__grid h4{position:relative}
/* 2026-10-13 视觉巡检：原 `bottom:-6px` 让这条 46×9 雪线**压在标题字脚上**（h4 行框 19px、字的下伸部到底沿，
   负 6px 只把雪线抬到 y16 → 横穿 g/q/y 的尾巴，像脏线）。改 -10px 让它落在字下方 1px。 */
body.pop-theme .pop-footer__grid h4::after{content:"";position:absolute;inset-inline-start:0;bottom:-10px;width:46px;height:9px;pointer-events:none;opacity:.85;
  background-image:var(--ksfx-m-stitch_line);background-repeat:repeat-x;background-size:46px 9px}
/* ====== 批次 2 · 首页 B1–B8（FXOPT）====== */
/* B2 品类卡：卡面图片角一枚母题（形状由配方 slots 的 cat_media 族轮换，周期 5 → 9 张卡每形 ≤2） */
body.pop-theme .pop-cat__media{position:relative}
body.pop-theme .pop-cat__media::before{content:"";position:absolute;inset-inline-start:-7px;top:-7px;width:38px;height:38px;pointer-events:none;opacity:.95;
  background-repeat:no-repeat;background-size:contain;transform:rotate(-7deg)}
/* 卡面底部一条雪地：**用渐变不用母题**（零形状预算、零新增元素），低对比、不挡主体与文字 */
body.pop-theme .pop-cat__media::after{content:"";position:absolute;inset-inline:0;bottom:0;height:24px;pointer-events:none;opacity:.55;
  background:linear-gradient(180deg,rgba(255,255,255,0),rgba(255,255,255,.9))}
/* B3 区块顶沿 trim（形状轮换，周期 5）+ 区块标题右侧花饰（周期 5）——只挂首页 */
body.pop-front .pop-section{position:relative}
body.pop-front .pop-section::after{content:"";position:absolute;inset-inline:0;top:0;height:11px;pointer-events:none;opacity:.45;
  background-repeat:repeat-x;background-size:auto 11px}
body.pop-front .pop-head h2{position:relative}
body.pop-front .pop-head h2::after{content:"";position:absolute;inset-inline-start:100%;margin-inline-start:9px;top:-5px;width:19px;height:19px;pointer-events:none;opacity:.9;
  background-repeat:no-repeat;background-size:contain}
/* ⚠️ 花饰挂在标题盒**外侧**需 19+9=28px；手机端容器内边距只 20px → 实测 360–600px 全顶出 9px 横向溢出
   （≥700px 为 0）。窄屏改为贴内缘：位置视觉不变，但恒定不越界。 */
@media(max-width:700px){body.pop-front .pop-head h2::after{inset-inline-start:auto;inset-inline-end:0;margin-inline-start:0}}
/* B4 信任条：既有灯串**闪一闪**（复用已存在的 ::after，不新增元素/形状）；徽章可抬升 */
@keyframes ksfxBlink{0%,100%{opacity:.42}50%{opacity:.88}}
body.pop-theme .pop-trust::after{animation:ksfxBlink 3.8s ease-in-out infinite}
body.pop-theme .pop-trust__chip{transition:transform .22s var(--pop-spring)}
/* B5 价格行悬停变绿、卡片「→」位移（只动 color / transform → F5 零布局属性） */
body.pop-theme .pop-card__go{transition:transform .22s var(--pop-spring)}
body.pop-theme .pop-card__price{transition:color .2s var(--pop-ease)}
/* B6 采购时间线：卡角一枚母题（周期 4）。滚动逐个点亮属 L2 → 批次 6 */
body.pop-front .bjm-tl__card{position:relative}
body.pop-front .bjm-tl__card::before{content:"";position:absolute;inset-inline-start:-9px;top:-9px;width:30px;height:30px;pointer-events:none;opacity:.95;
  background-repeat:no-repeat;background-size:contain}
/* B7 FAQ：展开态母题换拐杖糖（**静态态不动** → 形状预算不受影响）+ 展开内容落雪（渐变雪点，非母题 → 零预算）
   ⚠️ 用 16px×1.12≈18px 的小尺寸档 `cane_s`：原 `cane` 在这个尺寸的深色态只剩一团灰白（实测，见 CANES 修复记录）。 */
body.pop-theme .pop-faq details[open]>summary::before{background-image:var(--ksfx-m-leaf_s)!important;transform:rotate(0deg) scale(1.12)}
body.pop-theme .pop-faq details[open] p{background-image:radial-gradient(circle at 14% 22%,rgba(255,255,255,.95) 1.7px,transparent 2.1px),
  radial-gradient(circle at 58% 12%,rgba(255,255,255,.8) 1.4px,transparent 1.9px),
  radial-gradient(circle at 78% 64%,rgba(255,255,255,.85) 1.5px,transparent 2px),
  radial-gradient(circle at 32% 82%,rgba(255,255,255,.75) 1.3px,transparent 1.8px);background-repeat:no-repeat}
/* B8 品牌盒：盒顶松枝带 + 右下角礼物堆（各 1 个，静态；都放在盒内 → 不怕 overflow 裁剪） */
body.pop-front .pop-cta{position:relative}
body.pop-front .pop-cta::before{content:"";position:absolute;inset-inline:0;top:0;height:16px;pointer-events:none;opacity:.9;
  background-image:var(--ksfx-m-leaf_band);background-repeat:repeat-x;background-size:110px 16px}
body.pop-front .pop-cta::after{content:"";position:absolute;inset-inline-end:12px;bottom:8px;width:58px;height:58px;pointer-events:none;opacity:.95;
  background-image:var(--ksfx-m-chestnut);background-repeat:no-repeat;background-size:contain;transform:rotate(-4deg)}
/* ====== 批次 3 · 列表 / 分类 / 分页 / 空状态（FXOPT）====== */
/* C1 筛选条：整条升级为「工坊台面」——底沿一条雪线（台面前沿）+ 右上角一枚拉炮 */
body.pop-theme .ks-filters::before{content:"";position:absolute;inset-inline:0;bottom:0;height:13px;pointer-events:none;opacity:.5;
  border-end-start-radius:20px;border-end-end-radius:20px;
  background-image:var(--ksfx-m-wheat_wave);background-repeat:repeat-x;background-size:150px 13px}
body.pop-theme .ks-filters::after{content:"";position:absolute;inset-inline-end:16px;top:6px;width:30px;height:30px;pointer-events:none;opacity:.95;
  background-image:var(--ksfx-m-rainbow);background-repeat:no-repeat;background-size:contain;transform:rotate(-9deg);
  transition:transform .3s var(--pop-spring)}
/* C1 标签花饰：标签是 absolute 浮在卡片上沿的小药丸 → 花饰挂它右上角（不占卡片内部空间） */
body.pop-theme .ks-filters__label::after{content:"";position:absolute;inset-inline-end:-5px;top:-8px;width:16px;height:16px;pointer-events:none;opacity:.95;
  background-image:var(--ksfx-m-lantern);background-repeat:no-repeat;background-size:contain;transform:rotate(11deg);
  transform-origin:50% 4%;transition:transform .3s var(--pop-spring)}
/* C2 下拉按钮：右上角一枚小挂件（形状由 slots 的 list_dd 族轮换，周期 7 → 每形 ≤1） */
body.pop-theme .ks-dd__btn{position:relative}
body.pop-theme .ks-dd__btn::before{content:"";position:absolute;inset-inline-end:-4px;top:-7px;width:17px;height:17px;pointer-events:none;opacity:.95;
  background-repeat:no-repeat;background-size:contain;transform:rotate(-8deg)}
/* C2 下拉面板：顶沿一条拐杖糖缎带。三个坑：① 面板 `overflow:auto` → 伪元素只能留在 padding 内
   （写负 top 会被裁掉），且必须 absolute，否则会把第一个选项挤下去；
   ② **必须用渐变、不能用画稿** —— 7 个面板各挂一条 garland 会把它顶到 11 次/页，
   真浏览器普查（census_shapes）实测撞了「同一形状 ≤5/页」硬门禁 → 渐变零形状预算；
   ③ 普查**只跳过伪元素自己的 display:none**，不跳过「元素 display:none」→ 隐藏元素上的挂件照样计数。 */
body.pop-theme .ks-dd__panel::before{content:"";position:absolute;inset-inline:0;top:0;height:4px;pointer-events:none;opacity:.9;
  border-start-start-radius:14px;border-start-end-radius:14px;
  background:repeating-linear-gradient(90deg,var(--ksfx-red) 0 7px,var(--ksfx-white) 7px 14px)}
/* C2 下拉项 / 勾选框 / 箭头：只做过渡，交互反馈统一在 list_interaction()（F5/F6 约束） */
body.pop-theme .ks-opt{transition:transform .18s var(--pop-ease),background-color .18s var(--pop-ease)}
body.pop-theme .ks-opt__box{transition:transform .2s var(--pop-spring)}
/* ⚠️ 箭头是 `▾` 文本节点：`display:inline` 时 transform 不生效 → 显式 inline-block
   （在 flex 项里它本来就被 blockify，这条只是保证非 flex 语境下也成立；display 不属交互规则，F5 不管） */
body.pop-theme .ks-dd__caret{display:inline-block;transition:transform .24s var(--pop-spring)}
body.pop-theme .ks-dd.is-open .ks-dd__caret{transform:rotate(180deg)}
/* C2 排序控件 + 手机筛选按钮 */
body.pop-theme .ks-sort{transition:transform .2s var(--pop-ease),box-shadow .2s var(--pop-ease)}
body.pop-theme .ks-mobile__btn{position:relative;transition:transform .2s var(--pop-ease)}
body.pop-theme .ks-mobile__btn::after{content:"";position:absolute;inset-inline-end:-4px;top:-6px;width:15px;height:15px;pointer-events:none;opacity:.95;
  background-image:var(--ksfx-m-scarf);background-repeat:no-repeat;background-size:contain;transform:rotate(-10deg)}
/* C4 分页（/products/ 专属的 .ks-page 按钮）：右上角一枚挂件（slots 的 list_page 族，周期 5） */
body.pop-theme .ks-page{position:relative}
body.pop-theme .ks-page::before{content:"";position:absolute;inset-inline-end:-3px;top:-6px;width:15px;height:15px;pointer-events:none;opacity:.95;
  background-repeat:no-repeat;background-size:contain;transform:rotate(-8deg)}
/* C4 当前页：**拐杖糖条纹**（渐变 → 零形状预算）压在按钮下沿
   2026-10-13 视觉巡检：原 `inset-inline:0` 让条纹两端被按钮圆角切掉 → 像溢出破图；
   收到中段（inset-inline:9px）成一条整齐的拐杖糖下划线。 */
body.pop-theme .ks-page.is-active::after{content:"";position:absolute;inset-inline:9px;bottom:3px;height:5px;pointer-events:none;border-radius:3px;
  background:repeating-linear-gradient(115deg,var(--ksfx-red) 0 6px,var(--ksfx-white) 6px 12px)}
/* C4 分类页 / 博客页的当前页码（两种载体：分类 ul>li / 博客 .nav-links）——同款拐杖糖条纹
   2026-10-13：同样收到中段，避免两端被圆角切掉 */
body.pop-theme .pop-pagination .page-numbers.current,
body.pop-theme .nav-links .page-numbers.current{position:relative}
body.pop-theme .pop-pagination .page-numbers.current::after,
body.pop-theme .nav-links .page-numbers.current::after{content:"";position:absolute;inset-inline:9px;bottom:3px;height:5px;pointer-events:none;border-radius:3px;
  background:repeating-linear-gradient(115deg,var(--ksfx-red) 0 6px,var(--ksfx-white) 6px 12px)}
/* C4 下一页箭头旁落雪：**2026-10-13 视觉巡检已撤除** —— 13×13 的白色雪点落在 42px 按钮右上角，
   1x 下读起来是「噪点/脏点」而不是落雪（放大 4 倍才看得出是雪）。分页是功能控件，保持干净。
   三条原规则（.ks-page-next / .pop-pagination .next / .nav-links .next 的 ::after）连同深色段的
   opacity 覆盖一起删掉。 */
/* C5 空状态：卡片顶沿松枝串 + 右上角雪橇（只有筛到 0 条才登场） */
body.pop-theme .ks-empty__card{position:relative}
body.pop-theme .ks-empty__card::before{content:"";position:absolute;inset-inline:0;top:0;height:14px;pointer-events:none;opacity:.9;
  border-start-start-radius:20px;border-start-end-radius:20px;
  background-image:var(--ksfx-m-leaf_band);background-repeat:repeat-x;background-size:104px 14px}
body.pop-theme .ks-empty__card::after{content:"";position:absolute;inset-inline-end:14px;top:7px;width:30px;height:30px;pointer-events:none;opacity:.95;
  background-image:var(--ksfx-m-scarf);background-repeat:no-repeat;background-size:contain;transform:rotate(-8deg)}
/* C5 空状态的两个出口按钮：只做过渡，反馈在 list_interaction() */
body.pop-theme .ks-empty__clear,body.pop-theme .ks-empty__contact{transition:transform .2s var(--pop-ease)}
/* C2 筛选抽屉（手机）：顶沿同款缎带（同样用**渐变**不用画稿 —— 理由见上面板那条；
   ⚠️ 抽屉默认 display:none，但普查只跳过伪元素自身的 display:none → 隐藏元素上的挂件照样计数） */
body.pop-theme .ks-drawer__head{position:relative}
body.pop-theme .ks-drawer__head::after{content:"";position:absolute;inset-inline:0;bottom:-7px;height:4px;pointer-events:none;opacity:.85;
  background:repeating-linear-gradient(90deg,var(--ksfx-red) 0 7px,var(--ksfx-white) 7px 14px)}
/* ====== 批次 4 · 产品页（FXOPT · D1-D7）====== */
/* D1 主图右下角：和纸胶带（画稿由 slots 的 prod_main 族给，池长 1 = 恒定）。
   `overflow:hidden` 会把负偏移裁掉 —— 正是"胶带压边"该有的样子。 */
body.pop-theme .pop-product__main::after{content:"";position:absolute;inset-inline-end:-14px;bottom:18px;width:78px;height:22px;pointer-events:none;opacity:.95;
  background-repeat:no-repeat;background-size:contain}
/* D1b lightbox 底部雪堆（**渐变条带** → 零形状预算）：只有真打开时才画（`[hidden]` 时不渲染） */
body.pop-theme .pop-zoom::before{content:"";position:absolute;inset-inline:0;bottom:0;height:46px;pointer-events:none;opacity:.5;
  background-image:var(--ksfx-m-wheat_wave);background-repeat:repeat-x;background-size:170px 46px}
/* D2 缩略图条顶沿和纸带（**渐变**，零形状预算） */
body.pop-theme .pop-product__thumbs{position:relative}
body.pop-theme .pop-product__thumbs::before{content:"";position:absolute;inset-inline-start:2px;top:-8px;width:118px;height:9px;pointer-events:none;opacity:.5;
  border-radius:2px;transform:rotate(-2.5deg);
  background:repeating-linear-gradient(115deg,var(--ksfx-green-deep) 0 10px,var(--ksfx-white) 10px 20px)}
/* D2 选中缩略图：底沿拐杖糖条纹（渐变）+ 右上角小挂件（slots 的 prod_thumb_item 族）
   ⚠️ 按钮 `overflow:hidden` → 挂件必须留在盒内（`inset-inline-end:3px;top:3px`） */
body.pop-theme .pop-product__thumbs button.is-active{position:relative}
body.pop-theme .pop-product__thumbs button.is-active::before{content:"";position:absolute;inset-inline:7px;bottom:5px;height:4px;pointer-events:none;opacity:.9;
  border-radius:3px;background:repeating-linear-gradient(115deg,var(--ksfx-red) 0 5px,var(--ksfx-white) 5px 10px)}
body.pop-theme .pop-product__thumbs button.is-active::after{content:"";position:absolute;inset-inline-end:3px;top:3px;width:15px;height:15px;pointer-events:none;opacity:.95;
  background-repeat:no-repeat;background-size:contain}
/* D3 箱规行（"Sold by carton · 96 pieces/carton"）右端小姜饼人：
   元素 static → 同块补 relative（S5 成对）；花饰挂**盒外**（父级 overflow 可见），不占元素宽度、零位移 */
body.pop-theme .pop-carton-note{position:relative}
body.pop-theme .pop-carton-note::after{content:"";position:absolute;inset-inline-end:-24px;top:50%;width:17px;height:17px;margin-top:-9px;pointer-events:none;opacity:.92;
  background-repeat:no-repeat;background-size:contain}
/* D4 询盘卡（`.pop-wholesale`）：角上一枚花环（slots 的 prod_wholesale 族）+ 卡内 CTA 的过渡。
   ⚠️ 这枚才是"可见的 CTA 装饰"（加购键 0×0，见函数说明） */
body.pop-theme .pop-wholesale{position:relative}
body.pop-theme .pop-wholesale::after{content:"";position:absolute;inset-inline-end:18px;bottom:14px;width:30px;height:30px;pointer-events:none;opacity:.95;
  background-repeat:no-repeat;background-size:contain}
body.pop-theme .pop-wholesale .pop-btn--primary{transition:transform .2s var(--pop-ease)}
/* D4b WhatsApp 行：右上角小铃铛（slots 的 prod_wa 族）。父级 `.pop-product__actions` overflow 可见 → 可挂盒外 */
body.pop-theme .pop-product__wa{position:relative}
body.pop-theme .pop-product__wa::after{content:"";position:absolute;inset-inline-end:-8px;top:-14px;width:16px;height:16px;pointer-events:none;opacity:.95;
  background-repeat:no-repeat;background-size:contain;transform-origin:50% 6%}
/* D5 页签条顶沿和纸带（渐变）+ 激活页签底沿拐杖糖条纹（渐变）。
   产品页实测只有 1 个页签 → 不做"切换"动效，只做静态纸带与激活态标记 */
body.pop-theme .woocommerce-tabs ul.tabs{position:relative}
body.pop-theme .woocommerce-tabs ul.tabs::before{content:"";position:absolute;inset-inline-start:2px;top:-9px;width:132px;height:10px;pointer-events:none;opacity:.5;
  border-radius:2px;transform:rotate(-2deg);
  background:repeating-linear-gradient(115deg,var(--ksfx-green-deep) 0 10px,var(--ksfx-white) 10px 20px)}
body.pop-theme .woocommerce-tabs ul.tabs li a{transition:transform .2s var(--pop-ease)}
body.pop-theme .woocommerce-tabs ul.tabs li.active a{position:relative}
body.pop-theme .woocommerce-tabs ul.tabs li.active a::after{content:"";position:absolute;inset-inline:10px;bottom:5px;height:4px;pointer-events:none;opacity:.9;
  border-radius:3px;background:repeating-linear-gradient(115deg,var(--ksfx-red) 0 5px,var(--ksfx-white) 5px 10px)}
/* D7 相关产品标题右侧花饰（slots 的 prod_related_h2 族）
   ⚠️ 手机横向溢出纪律：挂标题盒**内缘**（批次 2 挂外侧在 360-600px 顶出过 9px） */
body.pop-theme .related.products h2{position:relative}
body.pop-theme .related.products h2::after{content:"";position:absolute;inset-inline-end:6px;top:50%;width:22px;height:22px;margin-top:-11px;pointer-events:none;opacity:.95;
  background-repeat:no-repeat;background-size:contain}
/* ====== T2 商品卡 ====== */
body.pop-theme .pop-card{position:relative;border:2px solid var(--pop-ink);border-radius:18px;background:var(--ksfx-white);box-shadow:0 4px 0 var(--pop-ink)}
body.pop-theme .pop-card__media{position:relative;border-bottom:2px solid var(--pop-ink);border-radius:15px 15px 0 0;overflow:hidden;
  background-image:var(--ksfx-m-paper_grid),linear-gradient(180deg,var(--ksfx-tint-1),var(--ksfx-tint-2));background-repeat:repeat,no-repeat;background-size:24px 24px,auto}
body.pop-theme li.product .pop-card__media::before{content:"";position:absolute;inset-inline-start:-8px;top:-8px;width:44px;height:44px;pointer-events:none;opacity:.95;
  background-image:var(--ksfx-m-fall_basket);background-repeat:no-repeat;background-size:contain;transform:rotate(-8deg)}
/* ⚠️ 首页货架卡（`div.pop-shelf > a.pop-card`）的**基规则**——2026-10-11 FXOPT 批次 2 修的真缺陷：
   原先这条基规则只写 `li.product`，而首页卡片是 `a.pop-card` → 相位规则（8n+1..8n+8）虽然命中了，
   却没有 `content`/尺寸 → 伪元素根本不渲染 → **首页 8 张卡实际只有 1 个母题**（价格行），
   而 FXFULL 的静态门禁（check_card_fill.py）看不出来，是 census_shapes 逐位子真浏览器普查才发现的。
   这里**刻意不写 `background-image`**：① 8 个相位已全覆盖 8 张卡，不需要兜底默认形状；
   ② 不带 `var(--ksfx-m-*)` 的规则不会被 check_pack 认成新的「基位子族」→ 不产生幻影族（否则报 G1 无轮换）。 */
body.pop-theme .pop-shelf > a.pop-card .pop-card__media::before{content:"";position:absolute;inset-inline-start:-8px;top:-8px;width:44px;height:44px;pointer-events:none;opacity:.95;
  background-repeat:no-repeat;background-size:contain}
/* 商品卡图片角原有的 3n+2 / 3n 相位已交给配方 slots 统一管理 */
/* ⚠️ 卡角胶带（tape）**已下线**：它是「静态单形状 × 32 张卡」= 一页 32 次，正是重复主因之一。
   卡面装饰改由配方 slots 的两个**相位全满**族负责（图片角 8 相位 + 价格行 7 相位）
   → 每张卡恒定 2 个母题、相邻卡不同、32 张卡内组合不重复。 */
body.pop-theme .pop-card__carton{display:flex;align-items:center;gap:6px;font-weight:700}
/* ⚠️ 箱规行的固定小图标（cane）已下线：30 张卡 = 一页 30 次同一个形状（重复主因）。
   卡的第二个母题统一由「价格行」轮换族给（32/32 张卡都有价格行，比箱规行更全覆盖）。 */
body.pop-theme .pop-card__price-row{position:relative;display:flex;align-items:center;gap:5px}
body.pop-theme .pop-card__price-row::before{content:"";flex:0 0 auto;width:13px;height:13px;
  background-image:var(--ksfx-m-apple);background-repeat:no-repeat;background-size:contain}
body.pop-theme .pop-card__price{color:var(--ksfx-red)}

/* ====== T2 列表页控件（/products/） ====== */
body.pop-theme .ks-filters__label{font-weight:800}
/* FXFULL 新增落点：筛选条（/products/ 控件区原来 0 装饰）——单例，用和纸胶带 */
body.pop-theme .ks-filters{position:relative}
body.pop-theme .ks-filters::before{content:"";position:absolute;inset-inline-start:-4px;top:-15px;width:62px;height:22px;pointer-events:none;opacity:.92;
  background-image:var(--ksfx-m-tape2);background-repeat:no-repeat;background-size:contain;transform:rotate(-6deg)}
body.pop-theme .ks-dd__btn{border:2px solid var(--pop-ink);border-radius:12px;background:var(--ksfx-white);box-shadow:0 3px 0 var(--pop-ink);font-weight:700}
body.pop-theme .ks-opt{position:relative}
body.pop-theme .ks-opt.is-on .ks-opt__box{border:2px solid var(--ksfx-green);background-color:var(--ksfx-band-bg);color:var(--ksfx-band-fg);background-image:var(--ksfx-m-leaf_dots),linear-gradient(180deg,var(--ksfx-band-bg),var(--ksfx-band-2));background-repeat:repeat,no-repeat;background-size:220px 220px,auto}
body.pop-theme .page-numbers{display:inline-flex;align-items:center;justify-content:center;position:relative;min-width:42px;height:42px;padding:0 10px;
  border:2px solid var(--pop-ink);border-radius:13px;background:var(--ksfx-white);box-shadow:0 3px 0 var(--pop-ink);font-weight:800;color:var(--pop-ink)}
/* 页码角标：**2026-10-13 视觉巡检已撤除** —— 11×11 / opacity .55 的和纸胶带落在 42px 按钮左上角，
   1x 下读起来是「污渍」而不是胶带（放大 4 倍才认得出）。分页保持干净，只留当前页那条拐杖糖下划线。
   基规则删掉后，配方 slots 的分页族（.page-numbers::before / .current::before 亮片）自然不再出图，
   m-tape / m-sparkle 两个母题在别处仍有引用（筛选条 / 商品卡价签），不会触发「纹样零冗余」门禁。 */
body.pop-theme .page-numbers.current{background:var(--ksfx-green);color:var(--ksfx-onstrip);border-color:var(--pop-ink)}
body.pop-theme .rank-math-breadcrumb,
body.pop-theme .rank-math-breadcrumb a{color:var(--pop-ink)}
body.pop-theme .rank-math-breadcrumb a{font-weight:700;text-decoration:underline;text-decoration-color:var(--ksfx-red);text-underline-offset:3px}
/* ====== T2 产品页 ====== */
body.pop-theme .pop-product__main{position:relative;border:2px solid var(--pop-ink);border-radius:20px;background:var(--ksfx-white);box-shadow:0 5px 0 var(--pop-ink)}
body.pop-theme .pop-product__main::before{content:"";position:absolute;inset-inline-start:-10px;top:-12px;width:56px;height:56px;pointer-events:none;opacity:.95;
  background-image:var(--ksfx-m-fall_basket);background-repeat:no-repeat;background-size:contain;transform:rotate(-10deg);z-index:3}
body.pop-theme .pop-carton-note{position:relative;padding-inline-start:32px;border:2px solid var(--pop-ink);border-radius:14px;box-shadow:0 3px 0 var(--pop-ink);
  background-image:var(--ksfx-m-paper_grid),linear-gradient(180deg,var(--ksfx-tint-1),var(--ksfx-tint-2));background-repeat:repeat,no-repeat;background-size:22px 22px,auto}
body.pop-theme .pop-carton-note::before{content:"";position:absolute;inset-inline-start:10px;top:50%;width:16px;height:16px;margin-top:-8px;
  background-image:var(--ksfx-m-maple);background-repeat:no-repeat;background-size:contain}
body.pop-theme .pop-price-unit{color:var(--ksfx-green-deep);font-weight:800}
body.pop-theme .single_add_to_cart_button{position:relative;border:2px solid var(--pop-ink)!important;box-shadow:0 3px 0 var(--pop-ink)!important;font-weight:800}
body.pop-theme .single_add_to_cart_button::after{content:"";position:absolute;inset-inline-end:6px;top:-10px;width:22px;height:22px;
  background-image:var(--ksfx-m-bow);background-repeat:no-repeat;background-size:contain;transform:rotate(12deg)}
body.pop-theme .bj-spec-wrap{position:relative;border:2px solid var(--pop-ink);border-radius:18px;box-shadow:0 5px 0 var(--pop-ink);background:var(--ksfx-white);overflow:hidden}
body.pop-theme .bj-spec-wrap::before{content:"";position:absolute;inset-inline-end:12px;top:-10px;width:46px;height:46px;pointer-events:none;z-index:9;
  background-image:var(--ksfx-m-lantern);background-repeat:no-repeat;background-size:contain;transform:rotate(6deg)}
body.pop-theme .bj-spec-wrap table{width:100%}
body.pop-theme .bj-spec-wrap th{background:var(--ksfx-green-deep)!important;color:var(--ksfx-white)!important;font-weight:800!important;
  border-bottom:2px solid var(--pop-ink)!important;padding:11px 14px!important}
/* FXFULL 新增落点：规格表**行首**（老缺口 = 「规格表 0 规则」）。基规则只给几何，
   形状由配方 slots 的 `.bj-spec-wrap th` 族按**行序号**轮换（11 行 / 周期 3 → 每形状 4 次，≤5 预算内）。 */
/* 2026-10-13 视觉巡检：主题的 `.single-product #tab-description th{padding:13px 20px!important}`（特异性 1,1,1）
   压过上面这条（0,2,2）→ 36px 预留失效，行首那枚 15px 贴纸直接压在标签首字上（"⭐KU"、"Pieces per ⚙Carton"）。
   ⚠️ `single-product` 这个类是挂在 **body 自己**身上的（不是后代元素）→ 必须写成 `body.pop-theme.single-product`，
   中间不能有空格（写成 `body.pop-theme .single-product` 永不命中，实测踩过）。 */
body.pop-theme.single-product #tab-description .bj-spec-wrap th{position:relative;padding-inline-start:36px!important}
body.pop-theme .bj-spec-wrap tr th::before{content:"";position:absolute;inset-inline-start:13px;top:50%;width:15px;height:15px;margin-top:-8px;pointer-events:none;opacity:.92;
  background-image:var(--ksfx-m-apple);background-repeat:no-repeat;background-size:contain}
body.pop-theme .bj-spec-wrap td{border-bottom:1px solid var(--pop-line)!important;padding:10px 14px!important}
body.pop-theme .bj-spec-wrap tr:nth-child(odd) td{background:var(--ksfx-row)!important}
body.pop-theme .woocommerce-tabs{position:relative}
/* ⚠️ 原来钉在 #tab-description h2 上（产品页 3 个 tab 标题 → 同一形状 3 次）→ 收到 tabs 容器角上（1 个位子，不存在重复） */
body.pop-theme .woocommerce-tabs::before{content:"";position:absolute;inset-inline-start:-6px;top:-14px;width:30px;height:30px;pointer-events:none;opacity:.92;
  background-image:var(--ksfx-m-pinecone);background-repeat:no-repeat;background-size:contain;transform:rotate(-6deg)}
body.pop-theme .related.products{position:relative;padding-top:26px}
body.pop-theme .related.products::before{content:"";position:absolute;inset-inline-start:0;top:0;width:30px;height:30px;pointer-events:none;
  background-image:var(--ksfx-m-chestnut);background-repeat:no-repeat;background-size:contain}
/* ====== T2 正文（文章页） ====== */
body.pop-theme .pop-prose{color:var(--pop-ink)}
body.pop-theme .pop-prose h2{position:relative;padding-inline-start:34px}
body.pop-theme .pop-prose h2::before{content:"";position:absolute;inset-inline-start:0;top:.18em;width:25px;height:25px;
  background-image:var(--ksfx-m-pinecone);background-repeat:no-repeat;background-size:contain}
body.pop-theme .pop-prose h3{position:relative;padding-inline-start:24px}
body.pop-theme .pop-prose h3::before{content:"";position:absolute;inset-inline-start:0;top:.32em;width:18px;height:18px;
  background-image:var(--ksfx-m-mushroom_s);background-repeat:no-repeat;background-size:contain}
body.pop-theme .pop-prose img{border:2px solid var(--pop-ink);border-radius:16px;box-shadow:0 5px 0 var(--pop-ink);background:var(--ksfx-white)}
body.pop-theme .pop-prose figure{position:relative}
body.pop-theme .pop-prose figure::after{content:"";position:absolute;inset-inline-end:-6px;top:-10px;width:38px;height:38px;pointer-events:none;opacity:.9;
  background-image:var(--ksfx-m-fall_basket);background-repeat:no-repeat;background-size:contain;transform:rotate(8deg)}
body.pop-theme .pop-prose blockquote{position:relative;margin:1.4em 0;padding:18px 20px 18px 60px;border:2px solid var(--pop-ink);border-radius:16px;
  box-shadow:0 4px 0 var(--pop-ink);background-image:var(--ksfx-m-paper_grid),linear-gradient(180deg,var(--ksfx-tint-1),var(--ksfx-tint-2));background-repeat:repeat,no-repeat;background-size:22px 22px,auto}
body.pop-theme .pop-prose blockquote::after{content:"";position:absolute;inset-inline-start:14px;top:16px;width:34px;height:34px;
  background-image:var(--ksfx-m-ginkgo);background-repeat:no-repeat;background-size:contain}
body.pop-theme .pop-prose ul{list-style:none;padding-inline-start:0}
body.pop-theme .pop-prose ul li{position:relative;padding-inline-start:22px}
body.pop-theme .pop-prose ul li::before{content:"";position:absolute;inset-inline-start:2px;top:.55em;width:12px;height:12px;
  background-image:var(--ksfx-m-leaf);background-repeat:no-repeat;background-size:contain}
body.pop-theme .pop-prose ol{list-style:none;counter-reset:ksx;padding-inline-start:0}
body.pop-theme .pop-prose ol li{position:relative;padding-inline-start:32px;counter-increment:ksx}
body.pop-theme .pop-prose ol li::before{content:counter(ksx);position:absolute;inset-inline-start:0;top:.25em;width:22px;height:22px;
  border:2px solid var(--pop-ink);border-radius:50%;background:var(--ksfx-gold-soft);font-size:12px;font-weight:800;line-height:18px;text-align:center;color:var(--pop-ink)}
body.pop-theme .pop-prose table{border:2px solid var(--pop-ink);border-radius:14px;overflow:hidden;background:var(--ksfx-white)}
body.pop-theme .pop-prose table th{background:var(--ksfx-green-deep)!important;color:var(--ksfx-white)!important;border-bottom:2px solid var(--pop-ink)!important;padding:9px 12px!important}
body.pop-theme .pop-prose table td{border-bottom:1px solid var(--pop-line)!important;padding:8px 12px!important}
body.pop-theme .pop-prose table tr:nth-child(even) td{background:var(--ksfx-row)!important}
body.pop-theme .pop-authorbio{position:relative;border:2px solid var(--pop-ink);border-radius:16px;box-shadow:0 4px 0 var(--pop-ink);padding:18px 20px;
  background-image:var(--ksfx-m-paper_grid),linear-gradient(180deg,var(--ksfx-tint-1),var(--ksfx-tint-2));background-repeat:repeat,no-repeat;background-size:22px 22px,auto}
body.pop-theme .pop-authorbio::before{content:"";position:absolute;inset-inline-end:14px;top:-14px;width:40px;height:40px;pointer-events:none;
  background-image:var(--ksfx-m-leaf);background-repeat:no-repeat;background-size:contain;transform:rotate(8deg)}

/* ====== T2 博客列表 ====== */
body.pop-theme .bjb-card{position:relative;border:2px solid var(--pop-ink);border-radius:18px;background:var(--ksfx-white);box-shadow:0 4px 0 var(--pop-ink);overflow:hidden}
body.pop-theme .bjb-card::after{content:"";position:absolute;inset-inline-start:-6px;top:-6px;width:38px;height:38px;pointer-events:none;opacity:.9;
  background-image:var(--ksfx-m-mushroom_s);background-repeat:no-repeat;background-size:contain;transform:rotate(-10deg)}
body.pop-theme .bjb-hero{position:relative;border:2px solid var(--pop-ink);border-radius:20px;box-shadow:0 5px 0 var(--pop-ink);
  background-image:var(--ksfx-m-paper_grid),linear-gradient(180deg,var(--ksfx-tint-1),var(--ksfx-tint-2));background-repeat:repeat,no-repeat;background-size:24px 24px,auto}
body.pop-theme .bjb-hero::after{content:"";position:absolute;inset-inline-end:16px;top:12px;width:48px;height:48px;pointer-events:none;opacity:.9;
  background-image:var(--ksfx-m-acorn);background-repeat:no-repeat;background-size:contain}
body.pop-theme .bjb-fbtn{border:2px solid var(--pop-ink);border-radius:999px;background:var(--ksfx-white);box-shadow:0 3px 0 var(--pop-ink);font-weight:800;color:var(--pop-ink)}
body.pop-theme .bjb-fbtn.on{background:var(--ksfx-green);color:var(--ksfx-onstrip)}
body.pop-theme .bjb-stats{position:relative;border-radius:14px}
/* FXFULL 新增落点：博客统计条（原来只有圆角、0 装饰）——单例，静态一支蜡烛 */
body.pop-theme .bjb-stats::before{content:"";position:absolute;inset-inline-end:14px;top:-12px;width:34px;height:34px;pointer-events:none;opacity:.9;
  background-image:var(--ksfx-m-corn);background-repeat:no-repeat;background-size:contain;transform:rotate(6deg)}
/* ====== T2 按钮 / 表单 / FAQ ====== */
body.pop-theme .pop-btn{position:relative;border:2px solid var(--pop-ink);border-radius:14px;box-shadow:0 3px 0 var(--pop-ink);font-weight:800}
body.pop-theme .pop-btn--primary::after{content:"";position:absolute;inset-inline-end:6px;top:-10px;width:22px;height:22px;pointer-events:none;
  background-image:var(--ksfx-m-bow);background-repeat:no-repeat;background-size:contain;transform:rotate(12deg)}
body.pop-theme .pop-faq details{border:2px solid var(--pop-ink);border-radius:16px;background:var(--ksfx-white);box-shadow:0 4px 0 var(--pop-ink);margin-bottom:14px;overflow:hidden}
body.pop-theme .pop-faq details[open]{background-image:var(--ksfx-m-paper_grid),linear-gradient(180deg,var(--ksfx-tint-1),var(--ksfx-tint-2));background-repeat:repeat,no-repeat;background-size:22px 22px,auto}
body.pop-theme .pop-faq details>summary{position:relative;padding-inline-start:36px!important;font-weight:800}
body.pop-theme .pop-faq details>summary::before{content:"";position:absolute;inset-inline-start:12px;top:50%;width:16px;height:16px;margin-top:-8px;
  background-image:var(--ksfx-m-sparkle);background-repeat:no-repeat;background-size:contain}
body.pop-theme .bj-quote__form{position:relative;border:2px solid var(--pop-ink);border-radius:20px;box-shadow:0 5px 0 var(--pop-ink);
  background-image:var(--ksfx-m-leaf_dots),linear-gradient(180deg,var(--ksfx-tint-1),var(--ksfx-surface));background-repeat:repeat,no-repeat;background-size:240px 240px,auto}
body.pop-theme .bj-quote__form::before{content:"";position:absolute;inset-inline-end:16px;top:-16px;width:44px;height:44px;pointer-events:none;
  background-image:var(--ksfx-m-bow);background-repeat:no-repeat;background-size:contain;transform:rotate(10deg)}
body.pop-theme .bj-quote__carton-note{position:relative;border:2px solid var(--pop-ink);border-radius:12px;box-shadow:0 3px 0 var(--pop-ink);
  background-image:var(--ksfx-m-paper_grid),linear-gradient(180deg,var(--ksfx-tint-1),var(--ksfx-tint-2));background-repeat:repeat,no-repeat;background-size:22px 22px,auto}
body.pop-theme .bj-quote__submit{border:2px solid var(--pop-ink)!important;box-shadow:0 3px 0 var(--pop-ink)!important;font-weight:800}
body.pop-theme .bj-quote__form input:focus,body.pop-theme .bj-quote__form textarea:focus,body.pop-theme .bj-quote__form select:focus{border-color:var(--ksfx-green);box-shadow:0 0 0 3px var(--ksfx-focus-ring)}
body.pop-theme .pop-footer__news-form{border-radius:14px}
/* ====== 批次 5 · 博客 / 文章 / 搜索 / 静态页 / 浮动件（FXOPT）====== */
/* --- 7 个新位子的基规则（几何 + 兜底纹样；相位规则由 rotation_css 覆盖 background-image/transform）--- */
body.pop-theme .bjb-stats span{position:relative;transition:transform .16s ease,box-shadow .16s ease}
body.pop-theme .bjb-stats span::before{content:"";position:absolute;inset-inline-start:-7px;top:-9px;width:21px;height:21px;pointer-events:none;opacity:.95;
  background-image:var(--ksfx-m-scarf);background-repeat:no-repeat;background-size:contain;transform:rotate(-8deg)}
body.pop-theme .bjb-cover{position:relative}
body.pop-theme .bjb-cover::before{content:"";position:absolute;inset-inline-end:8px;top:8px;width:32px;height:32px;pointer-events:none;opacity:.95;
  background-image:var(--ksfx-m-apple);background-repeat:no-repeat;background-size:contain}
body.pop-theme .bj-toc{position:relative;border:2px solid var(--pop-ink);border-radius:16px;box-shadow:0 4px 0 var(--pop-ink);
  background:var(--ksfx-white);background-image:var(--ksfx-m-paper_grid),linear-gradient(180deg,var(--ksfx-tint-1),var(--ksfx-tint-2));
  background-repeat:repeat,no-repeat;background-size:22px 22px,auto}
body.pop-theme .bj-toc::before{content:"";position:absolute;inset-inline:0;top:-3px;height:14px;pointer-events:none;opacity:.55;
  background-image:var(--ksfx-m-leaf_band);background-repeat:repeat-x;background-size:130px 14px}
body.pop-theme .bj-toc a{font-weight:700}
body.pop-theme .bj-toc li{position:relative}
body.pop-theme .bj-toc ol li::before{content:"";position:absolute;inset-inline-start:-19px;top:5px;width:15px;height:15px;pointer-events:none;opacity:.95;
  background-image:var(--ksfx-m-acorn);background-repeat:no-repeat;background-size:contain}
body.pop-theme .faq-item{position:relative;margin:10px 0;padding:14px 18px;border:2px solid var(--pop-ink);border-radius:14px;box-shadow:0 3px 0 var(--pop-ink);
  background:var(--ksfx-white);background-image:var(--ksfx-m-leaf_dots),linear-gradient(180deg,var(--ksfx-tint-1),var(--ksfx-tint-2));
  background-repeat:repeat,no-repeat;background-size:20px 20px,auto;transition:transform .18s ease,box-shadow .18s ease}
body.pop-theme .faq-item h3{margin:0 0 6px}
body.pop-theme .faq-item p{margin:0}
/* --- 搜索页：结果段 + 两种卡 --- */
body.pop-theme .pop-result-sec__head{position:relative;border-bottom:2px solid var(--pop-ink);padding-bottom:8px}
body.pop-theme .pop-result-sec__head::after{content:"";position:absolute;inset-inline-end:2px;top:-10px;width:32px;height:32px;pointer-events:none;opacity:.95;
  background-image:var(--ksfx-m-acorn);background-repeat:no-repeat;background-size:contain}
body.pop-theme .pop-result-sec__count{background:var(--ksfx-white);border:2px solid var(--pop-ink);border-radius:999px;box-shadow:0 2px 0 var(--pop-ink);font-weight:800}
body.pop-theme .pop-pcard,body.pop-theme .pop-bcard{position:relative;border:2px solid var(--pop-ink);border-radius:16px;box-shadow:0 4px 0 var(--pop-ink);
  background:var(--ksfx-white);transition:transform .18s ease,box-shadow .18s ease}
body.pop-theme .pop-pcard__media{position:relative}
body.pop-theme .pop-pcard__media::before{content:"";position:absolute;inset-inline-start:9px;top:9px;width:30px;height:30px;pointer-events:none;opacity:.95;
  background-image:var(--ksfx-m-ginkgo);background-repeat:no-repeat;background-size:contain}
body.pop-theme .pop-bcard__media{position:relative}
body.pop-theme .pop-bcard__media::after{content:"";position:absolute;inset-inline-end:7px;top:7px;width:26px;height:26px;pointer-events:none;opacity:.95;
  background-image:var(--ksfx-m-leaf);background-repeat:no-repeat;background-size:contain}
body.pop-theme .pop-pcard__media,body.pop-theme .pop-bcard__media{
  background-image:var(--ksfx-m-leaf_dots),linear-gradient(180deg,var(--ksfx-tint-1),var(--ksfx-tint-2));
  background-repeat:repeat,no-repeat;background-size:20px 20px,auto}
body.pop-theme .pop-pcard__price{color:var(--ksfx-green)}
/* --- 静态页正文（about / faq / contact）：标题位子 + 列表材质 --- */
body.pop-theme .pop-page-editor-content h2{position:relative;padding-inline-start:36px}
body.pop-theme .pop-page-editor-content h2::before{content:"";position:absolute;inset-inline-start:0;top:.04em;width:26px;height:26px;pointer-events:none;
  background-image:var(--ksfx-m-fall_basket);background-repeat:no-repeat;background-size:contain}
body.pop-theme .pop-page-editor-content h3{position:relative;padding-inline-start:28px}
body.pop-theme .pop-page-editor-content h3::before{content:"";position:absolute;inset-inline-start:0;top:.2em;width:19px;height:19px;pointer-events:none;opacity:.95;
  background-image:var(--ksfx-m-leaf);background-repeat:no-repeat;background-size:contain}
body.pop-theme .pop-page-editor-content ul{list-style:none;padding-inline-start:0}
body.pop-theme .pop-page-editor-content ul li{position:relative;padding-inline-start:24px}
body.pop-theme .pop-page-editor-content ul li::before{content:"";position:absolute;inset-inline-start:3px;top:.62em;width:10px;height:10px;border-radius:3px;
  background:var(--ksfx-green);border:2px solid var(--pop-ink)}
/* --- 询盘表单：国家 combobox（真实类名 .bj-cc*）--- */
body.pop-theme .bj-cc{position:relative}
body.pop-theme .bj-cc__list{background:var(--ksfx-white)!important;border:2px solid var(--pop-ink)!important;border-radius:14px!important;box-shadow:0 5px 0 var(--pop-ink)}
body.pop-theme .bj-cc__list li{padding:7px 12px!important;border-radius:9px!important;font-weight:600}
body.pop-theme .bj-cc__toggle{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;
  border:2px solid var(--pop-ink);border-radius:8px;background:var(--ksfx-white);box-shadow:0 2px 0 var(--pop-ink)}
body.pop-theme .bj-cc:focus-within .bj-cc__toggle{background:var(--ksfx-green)}
/* --- 浮动件：cookie 条 / 退出弹窗 / 手机粘性条 --- */
body.pop-theme #bj-consent{border:2px solid var(--pop-ink)!important;border-radius:18px!important;box-shadow:0 5px 0 var(--pop-ink)!important;
  background:var(--ksfx-white)!important;
  background-image:var(--ksfx-m-leaf_dots),linear-gradient(180deg,var(--ksfx-tint-1),var(--ksfx-tint-2))!important;
  background-repeat:repeat,no-repeat!important;background-size:20px 20px,auto!important}
body.pop-theme #bj-consent::after{content:"";position:absolute;inset-inline-end:12px;top:-13px;width:30px;height:30px;pointer-events:none;opacity:.95;
  background-image:var(--ksfx-m-leaf);background-repeat:no-repeat;background-size:contain}
body.pop-theme .bj-consent__btn{border:2px solid var(--pop-ink)!important;box-shadow:0 2px 0 var(--pop-ink)!important;font-weight:800}
body.pop-theme #bj-exit > div{border:2px solid var(--pop-ink);box-shadow:0 6px 0 var(--pop-ink);
  background-image:var(--ksfx-m-paper_grid),linear-gradient(180deg,var(--ksfx-tint-1),var(--ksfx-tint-2));
  background-repeat:repeat,no-repeat;background-size:24px 24px,auto}
body.pop-theme #bj-exit > div::after{content:"";position:absolute;inset-inline-end:14px;top:-14px;width:34px;height:34px;pointer-events:none;opacity:.95;
  background-image:var(--ksfx-m-scarf);background-repeat:no-repeat;background-size:contain}
body.pop-theme #bj-exit h3{color:var(--ksfx-red)}
body.pop-theme #bj-exit form button{border:2px solid var(--pop-ink)!important;box-shadow:0 3px 0 var(--pop-ink)!important;font-weight:800}
body.pop-theme #bj-exit-email{border:2px solid var(--pop-ink)!important;background:var(--ksfx-white)!important;color:var(--pop-ink)!important}
body.pop-theme .bjm-sticky{position:fixed;border-top:2px solid var(--pop-ink);box-shadow:0 -3px 0 var(--pop-ink)}
body.pop-theme .bjm-sticky::before{content:"";position:absolute;inset-inline:0;top:-2px;height:10px;pointer-events:none;opacity:.5;
  background-image:var(--ksfx-m-tape2);background-repeat:repeat-x;background-size:110px 10px}
body.pop-theme .bjm-sticky a{transition:transform .16s ease,box-shadow .16s ease}
/* --- 博客列表：筛选条材质 + 轻交互 --- */
body.pop-theme .bjb-filter{position:relative;border:2px solid var(--pop-ink);border-radius:16px;box-shadow:0 4px 0 var(--pop-ink);
  background:var(--ksfx-white);background-image:var(--ksfx-m-paper_grid),linear-gradient(180deg,var(--ksfx-tint-1),var(--ksfx-tint-2));
  background-repeat:repeat,no-repeat;background-size:22px 22px,auto}
body.pop-theme .bjb-filter::before{content:"";position:absolute;inset-inline:0;top:-2px;height:12px;pointer-events:none;opacity:.5;
  background-image:var(--ksfx-m-leaf);background-repeat:repeat-x;background-size:120px 12px}
body.pop-theme .bjb-fbtn,body.pop-theme .page-numbers{transition:transform .16s ease,box-shadow .16s ease}
body.pop-theme .bjb-card{transition:transform .2s ease,box-shadow .2s ease}
/* --- 交互（F6：所有 :hover 一律包进 @media(hover:hover) —— 触摸设备不做"点一下粘住"的假 hover）--- */
@media(hover:hover){
body.pop-theme .bjb-stats span:hover{transform:translateY(-2px);box-shadow:0 4px 0 var(--pop-ink)}
body.pop-theme .bj-toc a:hover{color:var(--ksfx-red)}
body.pop-theme .faq-item:hover{transform:translateY(-2px);box-shadow:0 5px 0 var(--pop-ink)}
body.pop-theme .pop-pcard:hover,body.pop-theme .pop-bcard:hover{transform:translateY(-4px);box-shadow:0 7px 0 var(--pop-ink)}
body.pop-theme .bj-cc__list li:hover,body.pop-theme .bj-cc__list li.is-active{background:var(--ksfx-tint-1)!important}
body.pop-theme .bjb-fbtn:hover,body.pop-theme .page-numbers:hover{transform:translateY(-2px);box-shadow:0 4px 0 var(--pop-ink)}
body.pop-theme .bjb-card:hover{transform:translateY(-4px);box-shadow:0 7px 0 var(--pop-ink)}
body.pop-theme .bjm-sticky a:hover{transform:translateY(-2px);box-shadow:0 3px 0 var(--pop-ink)}
}
/* ===== T2b 位子轮换（配方 slots 驱动：周期=池长，同池内同一纹样只出现一次） ===== */
/*@slot li.product .pop-card__media::before*/
body.pop-theme li.product:nth-child(8n+1) .pop-card__media::before{background-image:var(--ksfx-m-ginkgo);transform:rotate(-10deg);inset-inline-start:-8px;top:-8px}
body.pop-theme li.product:nth-child(8n+2) .pop-card__media::before{background-image:var(--ksfx-m-chestnut);transform:rotate(7deg) scale(.94);inset-inline-start:-8px;top:-8px}
body.pop-theme li.product:nth-child(8n+3) .pop-card__media::before{background-image:var(--ksfx-m-acorn);transform:rotate(12deg) scale(.9);inset-inline-start:auto;inset-inline-end:-7px;top:-8px}
body.pop-theme li.product:nth-child(8n+4) .pop-card__media::before{background-image:var(--ksfx-m-mushroom);transform:scaleX(-1) rotate(-6deg);inset-inline-start:auto;inset-inline-end:-7px;top:-8px}
body.pop-theme li.product:nth-child(8n+5) .pop-card__media::before{background-image:var(--ksfx-m-pine_cone);transform:rotate(-8deg) scale(.92);inset-inline-start:-8px;top:-8px}
body.pop-theme li.product:nth-child(8n+6) .pop-card__media::before{background-image:var(--ksfx-m-maple);transform:rotate(9deg);inset-inline-start:auto;inset-inline-end:-7px;top:-8px}
body.pop-theme li.product:nth-child(8n+7) .pop-card__media::before{background-image:var(--ksfx-m-wheat);transform:rotate(-7deg) scale(.94);inset-inline-start:-8px;top:-8px}
body.pop-theme li.product:nth-child(8n+8) .pop-card__media::before{background-image:var(--ksfx-m-fall_basket);transform:rotate(6deg);inset-inline-start:auto;inset-inline-end:-7px;top:-8px}
body.pop-theme .pop-shelf > a.pop-card:nth-child(8n+1) .pop-card__media::before{background-image:var(--ksfx-m-ginkgo);transform:rotate(-10deg);inset-inline-start:-8px;top:-8px}
body.pop-theme .pop-shelf > a.pop-card:nth-child(8n+2) .pop-card__media::before{background-image:var(--ksfx-m-chestnut);transform:rotate(7deg) scale(.94);inset-inline-start:-8px;top:-8px}
body.pop-theme .pop-shelf > a.pop-card:nth-child(8n+3) .pop-card__media::before{background-image:var(--ksfx-m-acorn);transform:rotate(12deg) scale(.9);inset-inline-start:auto;inset-inline-end:-7px;top:-8px}
body.pop-theme .pop-shelf > a.pop-card:nth-child(8n+4) .pop-card__media::before{background-image:var(--ksfx-m-mushroom);transform:scaleX(-1) rotate(-6deg);inset-inline-start:auto;inset-inline-end:-7px;top:-8px}
body.pop-theme .pop-shelf > a.pop-card:nth-child(8n+5) .pop-card__media::before{background-image:var(--ksfx-m-pine_cone);transform:rotate(-8deg) scale(.92);inset-inline-start:-8px;top:-8px}
body.pop-theme .pop-shelf > a.pop-card:nth-child(8n+6) .pop-card__media::before{background-image:var(--ksfx-m-maple);transform:rotate(9deg);inset-inline-start:auto;inset-inline-end:-7px;top:-8px}
body.pop-theme .pop-shelf > a.pop-card:nth-child(8n+7) .pop-card__media::before{background-image:var(--ksfx-m-wheat);transform:rotate(-7deg) scale(.94);inset-inline-start:-8px;top:-8px}
body.pop-theme .pop-shelf > a.pop-card:nth-child(8n+8) .pop-card__media::before{background-image:var(--ksfx-m-fall_basket);transform:rotate(6deg);inset-inline-start:auto;inset-inline-end:-7px;top:-8px}
/*@slot .pop-card__price-row::before*/
body.pop-theme li.product:nth-child(7n+1) .pop-card__price-row::before{background-image:var(--ksfx-m-apple);transform:rotate(-8deg)}
body.pop-theme li.product:nth-child(7n+2) .pop-card__price-row::before{background-image:var(--ksfx-m-acorn_s);transform:rotate(6deg)}
body.pop-theme li.product:nth-child(7n+3) .pop-card__price-row::before{background-image:var(--ksfx-m-corn);transform:rotate(-6deg)}
body.pop-theme li.product:nth-child(7n+4) .pop-card__price-row::before{background-image:var(--ksfx-m-sparkle);transform:rotate(5deg)}
body.pop-theme li.product:nth-child(7n+5) .pop-card__price-row::before{background-image:var(--ksfx-m-pinwheel);transform:rotate(-5deg)}
body.pop-theme li.product:nth-child(7n+6) .pop-card__price-row::before{background-image:var(--ksfx-m-leaf);transform:rotate(7deg)}
body.pop-theme li.product:nth-child(7n+7) .pop-card__price-row::before{background-image:var(--ksfx-m-umbrella);transform:rotate(-4deg)}
body.pop-theme .pop-shelf > a.pop-card:nth-child(7n+1) .pop-card__price-row::before{background-image:var(--ksfx-m-apple);transform:rotate(-8deg)}
body.pop-theme .pop-shelf > a.pop-card:nth-child(7n+2) .pop-card__price-row::before{background-image:var(--ksfx-m-acorn_s);transform:rotate(6deg)}
body.pop-theme .pop-shelf > a.pop-card:nth-child(7n+3) .pop-card__price-row::before{background-image:var(--ksfx-m-corn);transform:rotate(-6deg)}
body.pop-theme .pop-shelf > a.pop-card:nth-child(7n+4) .pop-card__price-row::before{background-image:var(--ksfx-m-sparkle);transform:rotate(5deg)}
body.pop-theme .pop-shelf > a.pop-card:nth-child(7n+5) .pop-card__price-row::before{background-image:var(--ksfx-m-pinwheel);transform:rotate(-5deg)}
body.pop-theme .pop-shelf > a.pop-card:nth-child(7n+6) .pop-card__price-row::before{background-image:var(--ksfx-m-leaf);transform:rotate(7deg)}
body.pop-theme .pop-shelf > a.pop-card:nth-child(7n+7) .pop-card__price-row::before{background-image:var(--ksfx-m-umbrella);transform:rotate(-4deg)}
/*@slot .pop-section::before*/
body.pop-theme .pop-section:nth-child(4n+1)::before{background-image:var(--ksfx-m-sunny);transform:rotate(-8deg)}
body.pop-theme .pop-section:nth-child(4n+2)::before{background-image:var(--ksfx-m-cloud);transform:rotate(6deg)}
body.pop-theme .pop-section:nth-child(4n+3)::before{background-image:var(--ksfx-m-leaf_s);transform:rotate(-5deg) scale(.94)}
body.pop-theme .pop-section:nth-child(4n+4)::before{display:none}
/*@slot .pop-head h2::before*/
body.pop-theme .pop-section:nth-child(3n+1) .pop-head h2::before{background-image:var(--ksfx-m-rainbow);transform:rotate(-6deg)}
body.pop-theme .pop-section:nth-child(3n+2) .pop-head h2::before{background-image:var(--ksfx-m-scarf);transform:rotate(5deg)}
body.pop-theme .pop-section:nth-child(3n+3) .pop-head h2::before{background-image:var(--ksfx-m-umbrella);transform:rotate(-4deg) scale(.94)}
/*@slot .pop-cat::before*/
body.pop-theme .pop-cat:nth-child(4n+1)::before{background-image:var(--ksfx-m-rain_boot);transform:rotate(-7deg)}
body.pop-theme .pop-cat:nth-child(4n+2)::before{background-image:var(--ksfx-m-maple);transform:rotate(6deg)}
body.pop-theme .pop-cat:nth-child(4n+3)::before{background-image:var(--ksfx-m-umbrella);transform:rotate(-5deg) scale(.94)}
body.pop-theme .pop-cat:nth-child(4n+4)::before{display:none}
/*@slot .pop-faq details>summary::before*/
body.pop-theme .pop-faq details:nth-child(2n+1)>summary::before{background-image:var(--ksfx-m-wheat);transform:rotate(-10deg)}
body.pop-theme .pop-faq details:nth-child(2n+2)>summary::before{background-image:var(--ksfx-m-bow);transform:rotate(7deg)}
/*@slot .page-numbers::before*/
body.pop-theme .pop-pagination li:nth-child(2n+1) > .page-numbers::before{background-image:var(--ksfx-m-tape);transform:rotate(-8deg)}
body.pop-theme .pop-pagination li:nth-child(2n+2) > .page-numbers::before{background-image:var(--ksfx-m-tape2);transform:rotate(5deg)}
body.pop-theme .nav-links > .page-numbers:nth-child(2n+1)::before{background-image:var(--ksfx-m-tape);transform:rotate(-8deg)}
body.pop-theme .nav-links > .page-numbers:nth-child(2n+2)::before{background-image:var(--ksfx-m-tape2);transform:rotate(5deg)}
body.pop-theme .page-numbers:nth-child(2n+1)::before{background-image:var(--ksfx-m-tape);transform:rotate(-8deg)}
body.pop-theme .page-numbers:nth-child(2n+2)::before{background-image:var(--ksfx-m-tape2);transform:rotate(5deg)}
/*@slot .pop-btn--primary::after*/
body.pop-theme .pop-btn--primary:nth-child(2n+1)::after{background-image:var(--ksfx-m-hot_cocoa);transform:rotate(14deg)}
body.pop-theme .pop-btn--primary:nth-child(2n+2)::after{background-image:var(--ksfx-m-scarf);transform:rotate(-12deg) scale(.96)}
/*@slot .bjb-card::after*/
body.pop-theme .bjb-card:nth-child(3n+1)::after{background-image:var(--ksfx-m-acorn);transform:rotate(-7deg)}
body.pop-theme .bjb-card:nth-child(3n+2)::after{background-image:var(--ksfx-m-ginkgo);transform:rotate(6deg) scale(.94)}
body.pop-theme .bjb-card:nth-child(3n+3)::after{background-image:var(--ksfx-m-maple);transform:rotate(8deg)}
/*@slot .pop-prose h2::before*/
body.pop-theme .pop-prose h2:nth-child(3n+1)::before{background-image:var(--ksfx-m-pine_cone);transform:rotate(-6deg)}
body.pop-theme .pop-prose h2:nth-child(3n+2)::before{background-image:var(--ksfx-m-rainbow);transform:rotate(5deg)}
body.pop-theme .pop-prose h2:nth-child(3n+3)::before{background-image:var(--ksfx-m-cloud);transform:rotate(-4deg) scale(.94)}
/*@slot .pop-prose h3::before*/
body.pop-theme .pop-page__content > *:nth-child(5n+1) h3::before{background-image:var(--ksfx-m-chestnut);transform:rotate(-5deg)}
body.pop-theme .pop-page__content > *:nth-child(5n+2) h3::before{background-image:var(--ksfx-m-corn);transform:rotate(6deg)}
body.pop-theme .pop-page__content > *:nth-child(5n+3) h3::before{background-image:var(--ksfx-m-pinwheel);transform:rotate(-4deg) scale(.94)}
body.pop-theme .pop-page__content > *:nth-child(5n+4) h3::before{background-image:var(--ksfx-m-bow);transform:rotate(5deg) scale(.96)}
body.pop-theme .pop-page__content > *:nth-child(5n+5) h3::before{background-image:var(--ksfx-m-wheat);transform:rotate(-6deg)}
/*@slot .pop-prose ul li::before*/
body.pop-theme .pop-prose ul li:nth-child(4n+1)::before{background-image:var(--ksfx-m-rain_boot);transform:rotate(-6deg)}
body.pop-theme .pop-prose ul li:nth-child(4n+2)::before{display:none}
body.pop-theme .pop-prose ul li:nth-child(4n+3)::before{background-image:var(--ksfx-m-sparkle);transform:rotate(5deg)}
body.pop-theme .pop-prose ul li:nth-child(4n+4)::before{display:none}
/*@slot .pop-prose figure::after*/
body.pop-theme .pop-prose figure:nth-child(2n+1)::after{background-image:var(--ksfx-m-ginkgo);transform:rotate(-8deg)}
body.pop-theme .pop-prose figure:nth-child(2n+2)::after{background-image:var(--ksfx-m-tape);transform:rotate(9deg)}
/*@slot .bj-spec-wrap tr th::before*/
body.pop-theme .bj-spec-wrap tr:nth-child(3n+1) th::before{background-image:var(--ksfx-m-apple);transform:rotate(-8deg)}
body.pop-theme .bj-spec-wrap tr:nth-child(3n+2) th::before{background-image:var(--ksfx-m-squirrel);transform:rotate(6deg)}
body.pop-theme .bj-spec-wrap tr:nth-child(3n+3) th::before{background-image:var(--ksfx-m-cloud);transform:rotate(-6deg) scale(.94)}
body.pop-theme .bj-spec-wrap th:nth-child(3n+1)::before{background-image:var(--ksfx-m-apple);transform:rotate(-8deg)}
body.pop-theme .bj-spec-wrap th:nth-child(3n+2)::before{background-image:var(--ksfx-m-squirrel);transform:rotate(6deg)}
body.pop-theme .bj-spec-wrap th:nth-child(3n+3)::before{background-image:var(--ksfx-m-cloud);transform:rotate(-6deg) scale(.94)}
/*@slot .pop-cat__media::before*/
body.pop-theme .pop-cat:nth-child(5n+1) .pop-cat__media::before{background-image:var(--ksfx-m-pine_cone);transform:rotate(-7deg) scale(.9);inset-inline-start:-7px;top:-7px}
body.pop-theme .pop-cat:nth-child(5n+2) .pop-cat__media::before{background-image:var(--ksfx-m-mushroom);transform:rotate(8deg) scale(.92);inset-inline-start:auto;inset-inline-end:-7px;top:-7px}
body.pop-theme .pop-cat:nth-child(5n+3) .pop-cat__media::before{background-image:var(--ksfx-m-acorn);transform:rotate(-9deg);inset-inline-start:-7px;top:-7px}
body.pop-theme .pop-cat:nth-child(5n+4) .pop-cat__media::before{background-image:var(--ksfx-m-chestnut);transform:rotate(7deg) scale(.94);inset-inline-start:auto;inset-inline-end:-7px;top:-7px}
body.pop-theme .pop-cat:nth-child(5n+5) .pop-cat__media::before{background-image:var(--ksfx-m-tape2);transform:rotate(-5deg);inset-inline-start:-7px;top:-7px}
/*@slot .pop-front .pop-section::after*/
body.pop-front .pop-section:nth-child(5n+1)::after{background-image:var(--ksfx-m-tape2);transform:none;height:13px;top:-2px;opacity:.5}
body.pop-front .pop-section:nth-child(5n+2)::after{background-image:var(--ksfx-m-acorn);transform:none;height:11px;top:0;opacity:.45}
body.pop-front .pop-section:nth-child(5n+3)::after{background-image:var(--ksfx-m-sparkle);transform:none;height:10px;top:1px;opacity:.5}
body.pop-front .pop-section:nth-child(5n+4)::after{background-image:var(--ksfx-m-squirrel);transform:none;height:12px;top:-1px;opacity:.45}
body.pop-front .pop-section:nth-child(5n+5)::after{background-image:var(--ksfx-m-leaf);transform:none;height:12px;top:-1px;opacity:.42}
/*@slot .pop-front .pop-head h2::after*/
body.pop-front .pop-section:nth-child(5n+1) .pop-head h2::after{background-image:var(--ksfx-m-ginkgo);transform:rotate(-8deg)}
body.pop-front .pop-section:nth-child(5n+2) .pop-head h2::after{background-image:var(--ksfx-m-bow);transform:rotate(7deg)}
body.pop-front .pop-section:nth-child(5n+3) .pop-head h2::after{background-image:var(--ksfx-m-sunny);transform:rotate(-6deg)}
body.pop-front .pop-section:nth-child(5n+4) .pop-head h2::after{background-image:var(--ksfx-m-apple);transform:rotate(9deg) scale(.94)}
body.pop-front .pop-section:nth-child(5n+5) .pop-head h2::after{background-image:var(--ksfx-m-rainbow);transform:rotate(-7deg)}
/*@slot .pop-front .bjm-tl__card::before*/
body.pop-front .bjm-tl__step:nth-child(4n+1) .bjm-tl__card::before{background-image:var(--ksfx-m-mushroom);transform:rotate(-8deg)}
body.pop-front .bjm-tl__step:nth-child(4n+2) .bjm-tl__card::before{background-image:var(--ksfx-m-maple);transform:rotate(7deg) scale(.94)}
body.pop-front .bjm-tl__step:nth-child(4n+3) .bjm-tl__card::before{background-image:var(--ksfx-m-wheat);transform:rotate(-6deg)}
body.pop-front .bjm-tl__step:nth-child(4n+4) .bjm-tl__card::before{background-image:var(--ksfx-m-fall_basket);transform:rotate(8deg)}
/*@slot .ks-filters__bar .ks-dd__btn::before*/
body.pop-theme .ks-filters__bar > .ks-dd:nth-child(7n+1) .ks-dd__btn::before{background-image:var(--ksfx-m-scarf);transform:rotate(-9deg)}
body.pop-theme .ks-filters__bar > .ks-dd:nth-child(7n+2) .ks-dd__btn::before{background-image:var(--ksfx-m-rain_boot);transform:rotate(8deg) scale(.94)}
body.pop-theme .ks-filters__bar > .ks-dd:nth-child(7n+3) .ks-dd__btn::before{background-image:var(--ksfx-m-hay_bale);transform:rotate(-6deg)}
body.pop-theme .ks-filters__bar > .ks-dd:nth-child(7n+4) .ks-dd__btn::before{background-image:var(--ksfx-m-leaf_s);transform:rotate(-8deg)}
body.pop-theme .ks-filters__bar > .ks-dd:nth-child(7n+5) .ks-dd__btn::before{background-image:var(--ksfx-m-scarf);transform:rotate(7deg) scale(.94)}
body.pop-theme .ks-filters__bar > .ks-dd:nth-child(7n+6) .ks-dd__btn::before{background-image:var(--ksfx-m-rain_boot);transform:rotate(-5deg)}
body.pop-theme .ks-filters__bar > .ks-dd:nth-child(7n+7) .ks-dd__btn::before{background-image:var(--ksfx-m-hay_bale);transform:rotate(9deg) scale(.92)}
/*@slot .ks-pagination .ks-page::before*/
body.pop-theme .ks-pagination > .ks-page:nth-child(5n+1)::before{background-image:var(--ksfx-m-leaf_s);transform:rotate(-8deg)}
body.pop-theme .ks-pagination > .ks-page:nth-child(5n+2)::before{background-image:var(--ksfx-m-lantern);transform:rotate(9deg)}
body.pop-theme .ks-pagination > .ks-page:nth-child(5n+3)::before{background-image:var(--ksfx-m-tape);transform:rotate(-6deg)}
body.pop-theme .ks-pagination > .ks-page:nth-child(5n+4)::before{display:none}
body.pop-theme .ks-pagination > .ks-page:nth-child(5n+5)::before{background-image:var(--ksfx-m-umbrella);transform:rotate(7deg)}
/*@slot .pop-product__main::after*/
body.pop-theme .pop-product__main:nth-child(1n+1)::after{background-image:var(--ksfx-m-tape2);transform:rotate(-6deg)}
/*@slot .pop-product__thumbs button.is-active::after*/
body.pop-theme .pop-product__thumbs button.is-active:nth-child(1n+1)::after{background-image:var(--ksfx-m-leaf_s);transform:rotate(-7deg)}
/*@slot .pop-carton-note::after*/
body.pop-theme .pop-carton-note:nth-child(1n+1)::after{background-image:var(--ksfx-m-pinwheel);transform:rotate(-7deg)}
/*@slot .pop-wholesale::after*/
body.pop-theme .pop-wholesale:nth-child(1n+1)::after{background-image:var(--ksfx-m-fall_basket);transform:rotate(-8deg)}
/*@slot .pop-product__wa::after*/
body.pop-theme .pop-product__wa:nth-child(1n+1)::after{background-image:var(--ksfx-m-sunny);transform:rotate(8deg)}
/*@slot .related.products h2::after*/
body.pop-theme .related.products h2:nth-child(1n+1)::after{background-image:var(--ksfx-m-umbrella);transform:rotate(-7deg)}
/*@slot .bjb-stats span::before*/
body.pop-theme .bjb-stats span:nth-child(3n+1)::before{background-image:var(--ksfx-m-scarf);transform:rotate(-9deg)}
body.pop-theme .bjb-stats span:nth-child(3n+2)::before{background-image:var(--ksfx-m-rain_boot);transform:rotate(8deg) scale(.94)}
body.pop-theme .bjb-stats span:nth-child(3n+3)::before{background-image:var(--ksfx-m-hay_bale);transform:rotate(-6deg)}
/*@slot .bjb-cover::before*/
body.pop-theme .bjb-grid > *:nth-child(8n+1) .bjb-cover::before{background-image:var(--ksfx-m-apple);transform:rotate(-8deg)}
body.pop-theme .bjb-grid > *:nth-child(8n+2) .bjb-cover::before{background-image:var(--ksfx-m-pear);transform:rotate(7deg)}
body.pop-theme .bjb-grid > *:nth-child(8n+3) .bjb-cover::before{background-image:var(--ksfx-m-sparkle);transform:rotate(-6deg) scale(.94)}
body.pop-theme .bjb-grid > *:nth-child(8n+4) .bjb-cover::before{background-image:var(--ksfx-m-bow);transform:rotate(8deg)}
body.pop-theme .bjb-grid > *:nth-child(8n+5) .bjb-cover::before{background-image:var(--ksfx-m-pine_cone);transform:rotate(-7deg) scale(.92)}
body.pop-theme .bjb-grid > *:nth-child(8n+6) .bjb-cover::before{background-image:var(--ksfx-m-wheat);transform:rotate(6deg)}
body.pop-theme .bjb-grid > *:nth-child(8n+7) .bjb-cover::before{background-image:var(--ksfx-m-fall_basket);transform:rotate(-5deg)}
body.pop-theme .bjb-grid > *:nth-child(8n+8) .bjb-cover::before{background-image:var(--ksfx-m-pinwheel);transform:rotate(9deg) scale(.94)}
/*@slot .bj-toc ol li::before*/
body.pop-theme .bj-toc ol li:nth-child(5n+1)::before{background-image:var(--ksfx-m-acorn);transform:rotate(-8deg)}
body.pop-theme .bj-toc ol li:nth-child(5n+2)::before{background-image:var(--ksfx-m-apple);transform:rotate(7deg)}
body.pop-theme .bj-toc ol li:nth-child(5n+3)::before{background-image:var(--ksfx-m-sparkle);transform:rotate(-6deg)}
body.pop-theme .bj-toc ol li:nth-child(5n+4)::before{background-image:var(--ksfx-m-fall_basket);transform:rotate(6deg) scale(.94)}
body.pop-theme .bj-toc ol li:nth-child(5n+5)::before{background-image:var(--ksfx-m-leaf);transform:rotate(-7deg)}
/*@slot .pop-pcard__media::before*/
body.pop-theme .pop-result-grid > *:nth-child(8n+1) .pop-pcard__media::before{background-image:var(--ksfx-m-bow);transform:rotate(-8deg)}
body.pop-theme .pop-result-grid > *:nth-child(8n+2) .pop-pcard__media::before{background-image:var(--ksfx-m-pine_cone);transform:rotate(7deg) scale(.94)}
body.pop-theme .pop-result-grid > *:nth-child(8n+3) .pop-pcard__media::before{background-image:var(--ksfx-m-wheat);transform:rotate(-6deg)}
body.pop-theme .pop-result-grid > *:nth-child(8n+4) .pop-pcard__media::before{background-image:var(--ksfx-m-pinwheel);transform:rotate(8deg)}
body.pop-theme .pop-result-grid > *:nth-child(8n+5) .pop-pcard__media::before{background-image:var(--ksfx-m-apple);transform:rotate(-7deg)}
body.pop-theme .pop-result-grid > *:nth-child(8n+6) .pop-pcard__media::before{background-image:var(--ksfx-m-pear);transform:rotate(6deg) scale(.94)}
body.pop-theme .pop-result-grid > *:nth-child(8n+7) .pop-pcard__media::before{background-image:var(--ksfx-m-sparkle);transform:rotate(-5deg)}
body.pop-theme .pop-result-grid > *:nth-child(8n+8) .pop-pcard__media::before{background-image:var(--ksfx-m-fall_basket);transform:rotate(9deg)}
/*@slot .pop-bcard__media::after*/
body.pop-theme .pop-result-list > *:nth-child(8n+1) .pop-bcard__media::after{background-image:var(--ksfx-m-leaf_s);transform:rotate(-7deg)}
body.pop-theme .pop-result-list > *:nth-child(8n+2) .pop-bcard__media::after{background-image:var(--ksfx-m-scarf);transform:rotate(8deg)}
body.pop-theme .pop-result-list > *:nth-child(8n+3) .pop-bcard__media::after{background-image:var(--ksfx-m-tape2);transform:rotate(-6deg)}
body.pop-theme .pop-result-list > *:nth-child(8n+4) .pop-bcard__media::after{background-image:var(--ksfx-m-leaf);transform:rotate(7deg) scale(.94)}
body.pop-theme .pop-result-list > *:nth-child(8n+5) .pop-bcard__media::after{background-image:var(--ksfx-m-rain_boot);transform:rotate(-5deg)}
body.pop-theme .pop-result-list > *:nth-child(8n+6) .pop-bcard__media::after{background-image:var(--ksfx-m-hay_bale);transform:rotate(9deg)}
body.pop-theme .pop-result-list > *:nth-child(8n+7) .pop-bcard__media::after{background-image:var(--ksfx-m-lantern);transform:rotate(-8deg)}
body.pop-theme .pop-result-list > *:nth-child(8n+8) .pop-bcard__media::after{background-image:var(--ksfx-m-squirrel);transform:rotate(6deg) scale(.94)}
/*@slot .pop-page-editor-content h2::before*/
body.pop-theme .pop-page-editor-content > h2:nth-child(4n+1)::before{background-image:var(--ksfx-m-ginkgo);transform:rotate(-7deg)}
body.pop-theme .pop-page-editor-content > h2:nth-child(4n+2)::before{background-image:var(--ksfx-m-maple);transform:rotate(8deg)}
body.pop-theme .pop-page-editor-content > h2:nth-child(4n+3)::before{background-image:var(--ksfx-m-sunny);transform:rotate(-6deg)}
body.pop-theme .pop-page-editor-content > h2:nth-child(4n+4)::before{background-image:var(--ksfx-m-umbrella);transform:rotate(7deg)}
/*@slot .pop-page-editor-content h3::before*/
body.pop-theme .pop-page-editor-content > h3:nth-child(10n+1)::before{background-image:var(--ksfx-m-lantern);transform:rotate(-6deg)}
body.pop-theme .pop-page-editor-content > h3:nth-child(10n+2)::before{background-image:var(--ksfx-m-rain_boot);transform:rotate(7deg)}
body.pop-theme .pop-page-editor-content > h3:nth-child(10n+3)::before{background-image:var(--ksfx-m-hay_bale);transform:rotate(-5deg)}
body.pop-theme .pop-page-editor-content > h3:nth-child(10n+4)::before{background-image:var(--ksfx-m-scarf);transform:rotate(8deg)}
body.pop-theme .pop-page-editor-content > h3:nth-child(10n+5)::before{background-image:var(--ksfx-m-tape2);transform:rotate(-7deg)}
body.pop-theme .pop-page-editor-content > h3:nth-child(10n+6)::before{background-image:var(--ksfx-m-leaf);transform:rotate(6deg)}
body.pop-theme .pop-page-editor-content > h3:nth-child(10n+7)::before{background-image:var(--ksfx-m-leaf_s);transform:rotate(-8deg)}
body.pop-theme .pop-page-editor-content > h3:nth-child(10n+8)::before{background-image:var(--ksfx-m-apple);transform:rotate(7deg) scale(.94)}
body.pop-theme .pop-page-editor-content > h3:nth-child(10n+9)::before{background-image:var(--ksfx-m-acorn_s);transform:rotate(-5deg)}
body.pop-theme .pop-page-editor-content > h3:nth-child(10n+10)::before{background-image:var(--ksfx-m-sparkle);transform:rotate(8deg) scale(.94)}
/* ====== T3 装饰层（引擎注入 .pop-hero / .pop-page-hero 内部） ====== */
.ksfx-scene{position:absolute;inset:0;display:block;pointer-events:none;z-index:0;overflow:hidden}
.ksfx-sprite{position:absolute;width:0;height:0;overflow:hidden}
.ksfx-el{position:absolute;display:none;width:0;height:0;color:var(--pop-ink);line-height:0;opacity:.97;
  filter:drop-shadow(0 4px 0 var(--ksfx-el-shadow))}
.ksfx-el svg{display:block;width:100%;height:100%}
body.pop-front .pop-hero .ksfx-el{display:block}
body.pop-front .pop-hero .ksfx-xm-pine{inset-inline-start:-8px;top:-22px;width:150px;height:150px;opacity:.95}
body.pop-front .pop-hero .ksfx-xm-star{inset-inline-start:14.5%;top:10px;width:58px;height:58px;animation:ksfxTwinkle 5.5s ease-in-out infinite}
body.pop-front .pop-hero .ksfx-xm-flake{inset-inline-start:26%;top:26px;width:38px;height:38px;animation:ksfxSway 6.5s ease-in-out infinite}
body.pop-front .pop-hero .ksfx-xm-frost{inset-inline-end:0;top:0;width:124px;height:124px;opacity:.9}
body.pop-front .pop-hero .ksfx-xm-bell{inset-inline-end:3.5%;top:98px;width:58px;height:58px;animation:ksfxSwing 6s ease-in-out infinite;transform-origin:50% 0}
body.pop-front .pop-hero .ksfx-xm-tree{inset-inline-start:2%;bottom:8px;width:72px;height:72px}
body.pop-front .pop-hero .ksfx-xm-holly{inset-inline-start:9%;bottom:16px;width:38px;height:38px}
body.pop-front .pop-hero .ksfx-xm-gift{inset-inline-end:2.2%;bottom:18px;width:66px;height:66px;animation:ksfxFloat 7.5s ease-in-out infinite}
body.pop-front .pop-hero .ksfx-xm-snowman{inset-inline-end:9.5%;bottom:12px;width:58px;height:58px}
body:not(.pop-front) .pop-page-hero .ksfx-el{display:block}
body:not(.pop-front) .pop-page-hero .ksfx-xm-in-pine{inset-inline-end:-6px;top:-16px;width:132px;height:132px;opacity:.92}
body:not(.pop-front) .pop-page-hero .ksfx-xm-in-bell{inset-inline-start:2%;top:14px;width:52px;height:52px;animation:ksfxSwing 6s ease-in-out infinite;transform-origin:50% 0}
body:not(.pop-front) .pop-page-hero .ksfx-xm-in-star{inset-inline-end:13%;top:18px;width:44px;height:44px;animation:ksfxTwinkle 5.5s ease-in-out infinite}
body:not(.pop-front) .pop-page-hero .ksfx-xm-in-tree{inset-inline-start:3%;bottom:4px;width:58px;height:58px}
body:not(.pop-front) .pop-page-hero .ksfx-xm-in-flake{inset-inline-end:4%;bottom:12px;width:34px;height:34px;animation:ksfxSway 6.5s ease-in-out infinite}
/* 轻动效（纯 CSS，尊重系统减小动效）——配方里写 animation:ksfxFloat 7.5s … 即可取用 */
@keyframes ksfxFloat{0%,100%{transform:translateY(0) rotate(-1.6deg)}50%{transform:translateY(-9px) rotate(1.6deg)}}
@keyframes ksfxSway{0%,100%{transform:translateX(-4px)}50%{transform:translateX(4px)}}
@keyframes ksfxSwing{0%,100%{transform:rotate(-3.5deg)}50%{transform:rotate(3.5deg)}}
@keyframes ksfxTwinkle{0%,100%{opacity:.55;transform:scale(.94)}50%{opacity:1;transform:scale(1.06)}}
@media(max-width:900px){
  body.pop-front .pop-hero .ksfx-el{transform:scale(.78);transform-origin:bottom left}
}
@media(max-width:900px){body.pop-front .pop-hero .ksfx-xm-frost{width:88px!important;height:88px!important;opacity:.85}}
@media(max-width:900px){body:not(.pop-front) .pop-page-hero .ksfx-xm-in-pine{display:none}}
@media(max-width:900px){body.pop-front .pop-hero .ksfx-xm-holly{display:none}}
@media(max-width:900px){body.pop-front .pop-hero .ksfx-xm-flake{display:none}}
@media(max-width:900px){body.pop-front .pop-hero .ksfx-xm-snowman{display:none}}
@media(max-width:900px){body.pop-front .pop-hero .ksfx-xm-pine{display:none}}
@media(max-width:900px){body:not(.pop-front) .pop-page-hero .ksfx-xm-in-flake{display:none}}
@media(max-width:900px){body:not(.pop-front) .pop-page-hero .ksfx-xm-in-star{display:none}}
@media(prefers-reduced-motion:reduce){.ksfx-el{animation:none!important}}
/* ====== 批次 1 · L1 交互总纲（纯 CSS · 零 JS）====== */
/* ① 悬停/键盘聚焦：母题「探头」（放开基础旋转角 → 放大一点），只动 transform（F5） */
@media(hover:hover){
body.pop-theme .pop-nav > ul > li > a:hover::after,
body.pop-theme .pop-nav > ul > li > a:focus-visible::after{transform:scaleX(1)}
body.pop-theme .pop-price-note:hover .pop-price-note__inner::before,
body.pop-theme .pop-price-note:focus-within .pop-price-note__inner::before{animation:ksfxRing 1.2s ease-in-out}
body.pop-theme .pop-nav ul.sub-menu > li > a:hover,
body.pop-theme .pop-nav ul.sub-menu > li > a:focus-visible{transform:translateX(3px)}
body.pop-theme .pop-brand:hover::after{transform:rotate(6deg) scale(1.12)}
body.pop-theme .pop-search-toggle:hover,body.pop-theme .ksdark-btn:hover,body.pop-theme .kslang__btn:hover,
body.pop-theme .pop-menu-toggle:hover,body.pop-theme .pop-mobile-menu__close:hover,body.pop-theme .pop-mobile-menu__back:hover,
body.pop-theme .pop-wa-float:hover{transform:translateY(-2px) scale(1.05)}
body.pop-theme li.product:hover .pop-card__media::before,
body.pop-theme .pop-shelf > a.pop-card:hover .pop-card__media::before{transform:scale(1.16) rotate(0deg)}
body.pop-theme li.product:hover .pop-card__price-row::before,
body.pop-theme .pop-shelf > a.pop-card:hover .pop-card__price-row::before{transform:scale(1.22) rotate(0deg)}
body.pop-theme .pop-cat:hover::before{transform:scale(1.18) rotate(0deg)}
body.pop-theme .pop-head:hover h2::before{transform:scale(1.15) rotate(-6deg)}
body.pop-theme .pop-latest-guides:hover::before{transform:scale(1.12) rotate(-8deg)}
body.pop-theme .bjb-card:hover::after{transform:scale(1.14) rotate(0deg)}
body.pop-theme .pop-faq details:hover>summary::before{transform:scale(1.3) rotate(0deg)}
body.pop-theme .pop-footer__soc:hover,body.pop-theme .pop-footer__soc:focus-visible{transform:translateY(-3px) scale(1.06)}
body.pop-theme .pop-footer__cats a:hover,body.pop-theme .pop-footer__cats a:focus-visible{transform:translateX(3px)}
body.pop-theme .pop-footer__bottom a:hover,body.pop-theme .pop-footer__bottom a:focus-visible{opacity:.72}
body.pop-theme .page-numbers:hover,body.pop-theme .page-numbers:focus-visible{transform:translateY(-2px)}
body.pop-theme .pop-btn--primary:hover{transform:translateY(-1px)}
}
/* ② 按压：贴纸被按扁（触摸设备也要有反馈 → 不放进 hover 媒体） */
body.pop-theme .pop-btn:active{transform:translateY(2px);box-shadow:0 0 0 var(--pop-ink)}
body.pop-theme .page-numbers:active{transform:translateY(0) scale(.96)}
body.pop-theme .pop-footer__soc:active{transform:scale(.95)}
/* ③ 键盘聚焦环（与悬停等价，视觉上更明确） */
body.pop-theme .pop-nav ul li a:focus-visible,body.pop-theme .pop-footer a:focus-visible,
body.pop-theme .pop-search-toggle:focus-visible,body.pop-theme .pop-btn:focus-visible,
body.pop-theme .page-numbers:focus-visible,body.pop-theme .pop-menu-toggle:focus-visible{
  outline:3px solid var(--ksfx-green);outline-offset:3px;border-radius:10px}
/* ④ 无动效偏好：关键帧全停 + 过渡去掉（装潢保留、只是不再动），键盘/悬停的"出现"改为瞬时 */
@media(prefers-reduced-motion:reduce){
body.pop-theme *::before,body.pop-theme *::after,body.pop-theme *{animation:none!important;transition:none!important}
}
/* ====== 批次 2 · 首页交互（纯 CSS · 零 JS）====== */
body.pop-front .ksfx-el{transition:scale .3s var(--pop-spring),filter .3s var(--pop-ease)}
/* B1 键盘等价入口（不放进 hover 媒体查询：键盘在触摸设备上同样需要） */
body.pop-front .pop-hero:focus-within .ksfx-el{scale:1.07;filter:drop-shadow(0 6px 0 var(--ksfx-el-shadow))}
@media(hover:hover){
/* B1 hero：指针进入视觉区 → 9 张贴纸一起「探头」 */
body.pop-front .pop-hero__visual:hover .ksfx-el{scale:1.07;filter:drop-shadow(0 6px 0 var(--ksfx-el-shadow))}
/* B2 品类卡：悬停整卡 → 卡面母题探头（5 个类 + :hover 的权重压过相位规则的 4 个类） */
body.pop-theme .pop-cat:hover .pop-cat__media::before{transform:scale(1.14) rotate(0deg)}
/* B3 悬停区块 → 标题花饰探头。
   ⚠️ 实测坑：与相位规则**同为 (0,4,2)**，靠"后写的赢"不可靠（相位规则由 rotation_css 产出，顺序一变就失效）
   → 给 body 再加一个 .pop-theme（+1 类 → (0,5,2)）**恒定压过**相位规则，不再依赖书写顺序。 */
body.pop-theme.pop-front .pop-section:hover .pop-head h2::after{transform:scale(1.12) rotate(-7deg)}
/* B4 信任徽章抬升 */
body.pop-theme .pop-trust__chip:hover{transform:translateY(-2px) scale(1.03)}
/* B5 货架卡：价格变绿 + 「→」位移 */
body.pop-theme a.pop-card:hover .pop-card__price{color:var(--ksfx-green)}
body.pop-theme a.pop-card:hover .pop-card__go{transform:translateX(3px)}
/* B6 时间线卡：悬停母题探头（同上：相位规则同为 (0,3,1) → 加 .pop-theme 恒定压过） */
body.pop-theme.pop-front .bjm-tl__card:hover::before{transform:scale(1.14) rotate(0deg)}
}
/* ====== 批次 3 · 列表页交互（纯 CSS · 零 JS）====== */
/* ⚠️ 权重纪律（本轮实测踩到的真缺陷，别再退回去）：相位规则的权重**不是 4 类**——
   `body.pop-theme .ks-filters__bar > .ks-dd:nth-child(7n+1) .ks-dd__btn::before` = **5 类**、
   `body.pop-theme .ks-pagination > .ks-page:nth-child(5n+1)::before` = **4 类**。
   首版按"悬停 3 类 + 本段在后"写 → 真浏览器实测：下拉按钮与分页按钮的悬停/键盘**完全没反应**
   （`before == hover`，transform 停在基础角度），而筛选条/标签/商品卡（平手 + 后写）却是好的
   —— 同一个文件里三种结局，只有逐位子量计算样式才看得出来。
   修法 = `body.pop-theme.pop-theme`（同一个类写两遍 = 权重 +1）：**恒定严格压过**相位规则，
   不依赖标签名（`div.ks-dd` 将来改成 `button` 也不会失效）也不依赖书写顺序（build() 若被重排照样赢）。 */
/* 键盘等价入口（**不放进 hover 媒体查询**：键盘在触摸设备上同样需要 → 满足 F7c） */
body.pop-theme.pop-theme .ks-filters__bar > .ks-dd .ks-dd__btn:focus-visible::before,
body.pop-theme.pop-theme .ks-pagination > .ks-page:focus-visible::before,
body.pop-theme.pop-theme .ks-mobile__btn:focus-visible::after{transform:scale(1.18) rotate(0deg)}
@media(hover:hover){
/* C1 筛选条：指针进卡片 → 右上角拉炮探头；标签铃铛摆一下 */
body.pop-theme.pop-theme .ks-filters:hover::after{transform:scale(1.14) rotate(-3deg)}
body.pop-theme.pop-theme .ks-filters__label:hover::after{transform:rotate(0deg) scale(1.16)}
/* C2 下拉按钮：抬起 + 挂件探头 + 箭头翻转（挂件必须走加压版，理由见段首） */
body.pop-theme .ks-dd__btn:hover{transform:translateY(-2px)}
body.pop-theme.pop-theme .ks-filters__bar > .ks-dd .ks-dd__btn:hover::before{transform:scale(1.2) rotate(0deg)}
body.pop-theme .ks-dd__btn:hover .ks-dd__caret{transform:rotate(180deg)}
/* C2 下拉项：右移 + 勾选框弹一下（只动 transform → F5 零布局属性） */
body.pop-theme .ks-opt:hover{transform:translateX(3px)}
body.pop-theme .ks-opt:hover .ks-opt__box{transform:scale(1.14)}
/* C2 排序控件 / 手机筛选键 */
body.pop-theme .ks-sort:hover{transform:translateY(-2px)}
body.pop-theme .ks-mobile__btn:hover{transform:translateY(-2px)}
body.pop-theme.pop-theme .ks-mobile__btn:hover::after{transform:scale(1.18) rotate(0deg)}
/* C3 商品卡（列表/分类 32 张）：母题探头 + 图片角翻（与首页货架卡同一手感） */
body.pop-theme.pop-theme .pop-card:hover .pop-card__media::before{transform:scale(1.18) rotate(0deg)}
body.pop-theme.pop-theme .pop-card:hover .pop-card__price-row::before{transform:scale(1.24) rotate(0deg)}
/* C4 分页：抬起 + 挂件探头（挂件同样走加压版） */
body.pop-theme .ks-page:hover{transform:translateY(-2px)}
body.pop-theme.pop-theme .ks-pagination > .ks-page:hover::before{transform:scale(1.18) rotate(0deg)}
body.pop-theme .pop-pagination li:hover .page-numbers,
body.pop-theme .nav-links .page-numbers:hover{transform:translateY(-2px)}
/* C5 空状态 / 抽屉出口按钮 */
body.pop-theme .ks-empty__clear:hover,body.pop-theme .ks-empty__contact:hover{transform:translateY(-2px)}
body.pop-theme .ks-drawer__apply:hover,body.pop-theme .ks-drawer__clear:hover{transform:translateY(-2px)}
}
/* 按压：贴纸被按扁（触摸设备也要反馈 → 不放进 hover 媒体） */
body.pop-theme .ks-dd__btn:active,body.pop-theme .ks-page:active,body.pop-theme .ks-opt:active,
body.pop-theme .ks-mobile__btn:active,body.pop-theme .ks-empty__clear:active{transform:translateY(1px)}
/* ====== 批次 4 · 产品页交互（纯 CSS · 零 JS）====== */
/* 键盘等价入口（**不放进 hover 媒体查询** → 触摸设备与键盘都要） */
body.pop-theme.pop-theme .pop-product__thumbs button:focus-visible::after,
body.pop-theme.pop-theme .pop-carton-note:focus-within::after,
body.pop-theme.pop-theme .pop-wholesale:focus-within::after,
body.pop-theme.pop-theme .pop-product__wa:focus-visible::after,
body.pop-theme.pop-theme .related.products h2:focus-within::after{transform:scale(1.16) rotate(0deg)}
@media(hover:hover){
/* D1 主图：指针进图 → 胶带翘起 */
body.pop-theme.pop-theme .pop-product__main:hover::after{transform:rotate(-2deg) scale(1.06)}
/* D2 缩略图：主题已有 -3px 位移，这里只让母题探头 */
body.pop-theme.pop-theme .pop-product__thumbs button:hover::after{transform:scale(1.18) rotate(0deg)}
/* D3 箱规行：小姜饼人跳一下 */
body.pop-theme.pop-theme .pop-carton-note:hover::after{transform:scale(1.2) rotate(0deg)}
/* D4 询盘卡：花环探头 + CTA 抬起（只动 transform → F5 零布局属性） */
body.pop-theme.pop-theme .pop-wholesale:hover::after{transform:scale(1.14) rotate(0deg)}
body.pop-theme .pop-wholesale .pop-btn--primary:hover{transform:translateY(-2px)}
/* D4b WhatsApp 行：铃铛摆一下 */
body.pop-theme.pop-theme .pop-product__wa:hover::after{transform:rotate(0deg) scale(1.16)}
/* D5 页签：抬起 */
body.pop-theme .woocommerce-tabs ul.tabs li a:hover{transform:translateY(-2px)}
/* D6 规格表：整行底色亮起 + 行首母题放大 */
body.pop-theme .bj-spec-wrap tr:hover td{background:var(--ksfx-tint-1)!important}
body.pop-theme.pop-theme .bj-spec-wrap tr:hover th::before{transform:scale(1.22) rotate(0deg)}
/* D7 相关产品标题花饰 */
body.pop-theme.pop-theme .related.products h2:hover::after{transform:scale(1.16) rotate(0deg)}
}
/* 按压：贴纸被按扁（触摸设备也要反馈 → 不放进 hover 媒体查询） */
body.pop-theme .pop-wholesale .pop-btn--primary:active,
body.pop-theme .woocommerce-tabs ul.tabs li a:active,
body.pop-theme .pop-product__thumbs button:active{transform:translateY(1px)}
/* ====== 批次 6 · L2 零 JS 滚动驱动（animation-timeline: view()）====== */
/* 不支持 = 这些规则整体不存在 → 元素默认可见、零 CLS；只动 translate/scale/opacity，不动 transform */
@supports (animation-timeline: view()){
body.pop-theme .pop-head h2{animation:ksfxAttach linear both;animation-timeline:view();animation-range:entry 6% entry 40%}
body.pop-theme .pop-cat{animation:ksfxRise linear both;animation-timeline:view();animation-range:entry 8% entry 45%}
body.pop-theme .bjb-card{animation:ksfxRise linear both;animation-timeline:view();animation-range:entry 8% entry 45%}
}
@keyframes ksfxAttach{from{translate:0 14px}to{translate:0 0}}
/* ksfxRise 只动 translate/scale、**不碰 opacity**：新落点可能落在主题 reveal 容器内，
   ⚠️ 曾试「`to` 省略 scale」（方案 B，期望终态回到 none）→ **实测无效**：属性只要在任一关键帧
   出现过就被视为参与动画，终态仍序列化成 `1`（真浏览器实测 raw after scale=1）。故显式写 `scale:1`；
   reveal 用 opacity 控显隐，抢同一属性会打架（零 JS 层不该与主题进场过渡争属性） */
@keyframes ksfxRise{from{translate:0 10px;scale:.95}to{translate:0 0;scale:1}}
/* reduce：逐条停（一条一个选择器 —— 合成一条会被 F7b 判"未覆盖"） */
@media(prefers-reduced-motion:reduce){
body.pop-theme .pop-head h2{animation:none!important}
body.pop-theme .pop-cat{animation:none!important}
body.pop-theme .bjb-card{animation:none!important}
}
/* ====== 404 独立页（引擎注入；本页无 style.css、无 .pop-* 类） ====== */
body.ksfx-404 .ksfx-scene{position:fixed;inset:0;z-index:0}
body.ksfx-404 .ksfx-404card{position:relative;z-index:2;max-width:min(620px,92vw);padding:40px 34px 34px;text-align:center;
  border:2px solid var(--pop-ink);border-radius:26px;box-shadow:0 6px 0 var(--pop-ink);background:var(--ksfx-white);
  background-image:var(--ksfx-m-paper_grid),linear-gradient(180deg,var(--ksfx-tint-1),var(--ksfx-tint-2));
  background-repeat:repeat,no-repeat;background-size:24px 24px,auto}
body.ksfx-404 .ksfx-404card::after{content:"";position:absolute;inset-inline-start:50%;top:-12px;margin-inline-start:-34px;width:68px;height:22px;
  pointer-events:none;opacity:.95;background-image:var(--ksfx-m-tape);background-repeat:no-repeat;background-size:contain;transform:rotate(-2deg)}
body.ksfx-404 h1{color:var(--ksfx-red);line-height:1.05}
body.ksfx-404 p{color:var(--pop-ink-soft)}
body.ksfx-404 p strong{color:var(--pop-ink)}
body.ksfx-404 a{border:2px solid var(--pop-ink);box-shadow:0 3px 0 var(--pop-ink);font-weight:800;background:var(--ksfx-red);color:var(--ksfx-onstrip)}
body.ksfx-404 a.g{background:var(--ksfx-white);color:var(--pop-ink)}
body.ksfx-404::before{content:"";position:fixed;inset-inline:0;top:0;height:18px;z-index:3;pointer-events:none;opacity:.95;
  background-image:var(--ksfx-m-leaf_band);background-repeat:repeat-x;background-size:120px 18px}
body.ksfx-404::after{content:"";position:fixed;inset-inline:0;bottom:0;height:26px;z-index:3;pointer-events:none;opacity:.92;
  background-image:var(--ksfx-m-wheat_wave);background-repeat:repeat-x;background-size:160px 26px}
body.ksfx-404 .ksfx-xm-pine{display:block;inset-inline-start:-8px;top:-30px;width:168px;height:168px;opacity:.95}
body.ksfx-404 .ksfx-xm-frost{display:block;inset-inline-end:-6px;top:-6px;width:150px;height:150px;opacity:.9}
body.ksfx-404 .ksfx-xm-bell{display:block;inset-inline-end:17%;top:112px;width:60px;height:60px;animation:ksfxSwing 6s ease-in-out infinite;transform-origin:50% 0}
body.ksfx-404 .ksfx-xm-star{display:block;inset-inline-start:17%;top:20px;width:48px;height:48px;animation:ksfxTwinkle 5.5s ease-in-out infinite}
body.ksfx-404 .ksfx-xm-flake{display:block;inset-inline-start:7%;top:40%;width:36px;height:36px;animation:ksfxSway 6.5s ease-in-out infinite}
body.ksfx-404 .ksfx-xm-tree{display:block;inset-inline-start:3%;bottom:14px;width:80px;height:80px}
body.ksfx-404 .ksfx-xm-holly{display:block;inset-inline-start:12%;bottom:22px;width:44px;height:44px}
body.ksfx-404 .ksfx-xm-gift{display:block;inset-inline-end:3%;bottom:16px;width:72px;height:72px;animation:ksfxFloat 7.5s ease-in-out infinite}
body.ksfx-404 .ksfx-xm-snowman{display:block;inset-inline-end:11%;bottom:12px;width:62px;height:62px}
@media(max-width:900px){body.ksfx-404 .ksfx-xm-pine{display:none}}
@media(max-width:900px){body.ksfx-404 .ksfx-xm-frost{display:none}}
@media(max-width:900px){body.ksfx-404 .ksfx-xm-snowman{display:none}}
@media(max-width:900px){body.ksfx-404 .ksfx-xm-holly{display:none}}
@media(max-width:560px){body.ksfx-404 .ksfx-404card{padding:34px 20px 30px;border-radius:22px}body.ksfx-404::before{height:14px}body.ksfx-404::after{height:18px}}
/* ====== 飘雪 v2（离散小雪花 · 纯 transform · 0 JS · 无 will-change） ====== */
.ksfx-snowfield{position:absolute;inset-inline:0;top:0;height:min(80%,560px);pointer-events:none;overflow:hidden;--ksfx-fall:560px}
.ksfx-flake{position:absolute;top:-8%;background-image:var(--ksfx-m-leaf_s);background-repeat:no-repeat;background-size:contain;animation:ksfxFall linear infinite;transition:translate .5s ease-out}
.ksfx-flake:nth-child(3n){background-image:var(--ksfx-m-leaf)}
.ksfx-flake:nth-child(4n+1){background-image:var(--ksfx-m-leaf)}
@keyframes ksfxFall{from{transform:translate3d(0,0,0) rotate(0deg)}to{transform:translate3d(7px,var(--ksfx-fall),0) rotate(180deg)}}
.ksfx-flake:nth-child(1){inset-inline-start:2%;width:12px;height:12px;animation-duration:9s;animation-delay:-0.0s;opacity:.9}
.ksfx-flake:nth-child(2){inset-inline-start:39%;width:16px;height:16px;animation-duration:16s;animation-delay:-1.7s;opacity:.75}
.ksfx-flake:nth-child(3){inset-inline-start:76%;width:9px;height:9px;animation-duration:14s;animation-delay:-3.4s;opacity:.62}
.ksfx-flake:nth-child(4){inset-inline-start:20%;width:19px;height:19px;animation-duration:12s;animation-delay:-5.1s;opacity:.85}
.ksfx-flake:nth-child(5){inset-inline-start:57%;width:14px;height:14px;animation-duration:10s;animation-delay:-6.8s;opacity:.9}
.ksfx-flake:nth-child(6){inset-inline-start:94%;width:12px;height:12px;animation-duration:17s;animation-delay:-8.5s;opacity:.75}
.ksfx-flake:nth-child(7){inset-inline-start:38%;width:16px;height:16px;animation-duration:15s;animation-delay:-10.2s;opacity:.62}
.ksfx-flake:nth-child(8){inset-inline-start:75%;width:9px;height:9px;animation-duration:13s;animation-delay:-11.9s;opacity:.85}
.ksfx-flake:nth-child(9){inset-inline-start:19%;width:19px;height:19px;animation-duration:11s;animation-delay:-0.6s;opacity:.9}
.ksfx-flake:nth-child(10){inset-inline-start:56%;width:14px;height:14px;animation-duration:9s;animation-delay:-2.3s;opacity:.75}
.ksfx-flake:nth-child(11){inset-inline-start:93%;width:12px;height:12px;animation-duration:16s;animation-delay:-4.0s;opacity:.62}
.ksfx-flake:nth-child(12){inset-inline-start:37%;width:16px;height:16px;animation-duration:14s;animation-delay:-5.7s;opacity:.85}
.ksfx-flake:nth-child(13){inset-inline-start:74%;width:9px;height:9px;animation-duration:12s;animation-delay:-7.4s;opacity:.9}
.ksfx-flake:nth-child(14){inset-inline-start:18%;width:19px;height:19px;animation-duration:10s;animation-delay:-9.1s;opacity:.75}
.ksfx-flake:nth-child(15){inset-inline-start:55%;width:14px;height:14px;animation-duration:17s;animation-delay:-10.8s;opacity:.62}
.ksfx-flake:nth-child(16){inset-inline-start:92%;width:12px;height:12px;animation-duration:15s;animation-delay:-12.5s;opacity:.85}
.ksfx-flake:nth-child(17){inset-inline-start:36%;width:16px;height:16px;animation-duration:13s;animation-delay:-1.2s;opacity:.9}
.ksfx-flake:nth-child(18){inset-inline-start:73%;width:9px;height:9px;animation-duration:11s;animation-delay:-2.9s;opacity:.75}
.ksfx-flake:nth-child(19){inset-inline-start:17%;width:19px;height:19px;animation-duration:9s;animation-delay:-4.6s;opacity:.62}
.ksfx-flake:nth-child(20){inset-inline-start:54%;width:14px;height:14px;animation-duration:16s;animation-delay:-6.3s;opacity:.85}
.ksfx-flake:nth-child(21){inset-inline-start:91%;width:12px;height:12px;animation-duration:14s;animation-delay:-8.0s;opacity:.9}
.ksfx-flake:nth-child(22){inset-inline-start:35%;width:16px;height:16px;animation-duration:12s;animation-delay:-9.7s;opacity:.75}
.ksfx-flake:nth-child(23){inset-inline-start:72%;width:9px;height:9px;animation-duration:10s;animation-delay:-11.4s;opacity:.62}
.ksfx-flake:nth-child(24){inset-inline-start:16%;width:19px;height:19px;animation-duration:17s;animation-delay:-0.1s;opacity:.85}
body:not(.pop-front) .pop-page-hero .ksfx-snowfield{height:100%;--ksfx-fall:230px}
@media(max-width:760px){.ksfx-flake:nth-child(n+13){display:none}}
@media(prefers-reduced-motion:reduce){.ksfx-snowfield{display:none}.ksfx-flake{animation:none}}

/* ====== 成对补丁：规格表内的链接（底色是我们的 → 文字色也跟着我们的 token）====== */
body.pop-theme .pop-cert-tier a{color:var(--ksfx-red)!important}
/* TOKENFIX 2026-10-12：本层把箱规提示的黄油底（#FFF0DC，原字 4.55）换成薄荷 tint+tartan，
   原珊瑚字 #C6431A 掉到实测 4.40（AA 需 4.5）→ 按「谁改了底色，谁就要管这块底色上的文字」
   补配对字色：token 分态（浅 #B23A12 / 深 #EBA271），两态各自解析 */
body.pop-theme .bj-quote__carton-note{color:var(--ksfx-note-fg)}
/* 2026-10-13：同上一条同型事故 —— FX 把 .bj-toc / .pop-authorbio 涂成薄荷 tint 渐变后，
   里面的**链接**仍是站点珊瑚 #C6431A → 在渐变下半段实测 4.33–4.43（AA 4.5）。
   补配对字色 token（浅 #B23A12 / 深 #EB9C81=既有渲染值）→ 亮色 5.20–5.56、暗色零变化。
   特异性 body.pop-theme.pop-theme 压过主题的 `body.pop-theme .pop-prose a`(0,2,2)；
   不带 !important → 暗色插件对 nav.bj-toc a 的 !important 仍然赢（#EBA271 不变）。 */
body.pop-theme.pop-theme .bj-toc a,body.pop-theme.pop-theme .pop-authorbio a,
body.pop-theme.pop-theme .faq-item a,body.pop-theme.pop-theme .pop-faq a{color:var(--ksfx-panel-link)}