﻿/* === EV PLATES · RelayEstate-inspired Design System ===================
               Palette : cream paper + espresso ink + copper/honey accents
               Type    : Sora (display) + Inter (UI) + Noto Sans TC (zh fallback)
               Surfaces: translucent white cards · 22px radius · copper-tinted shadow
               =================================================================== */
            /* === Outer wrapper: 設計 token + grid (panel | wishlist 並排) === */
            .evp-page{
                --paper:#FBF6EE; --paper-soft:#F4EFE7; --paper-edge:rgba(24,19,15,.10);
                --ink:#18130F; --ink-78:rgba(24,19,15,.78); --ink-44:rgba(24,19,15,.44); --ink-12:rgba(24,19,15,.12);
                --surface:rgba(255,255,255,.62); --surface-strong:#FFFFFF;
                --copper:#C98755; --copper-bright:#D6A85F; --copper-deep:#B9773F; --copper-soft:rgba(201,135,85,.10); --copper-edge:rgba(201,135,85,.32);
                --honey:#E3B260; --honey-soft:rgba(227,178,96,.16);
                --rust:#8C3A2C; --rust-soft:rgba(140,58,44,.10); --rust-edge:rgba(140,58,44,.30);
                --r-pill:999px; --r-lg:22px; --r-md:14px; --r-sm:8px;
                --sh-card:0 18px 44px rgba(24,19,15,.08), inset 0 1px 0 rgba(255,255,255,.5);
                --sh-cta:0 14px 36px rgba(201,135,85,.28);
                --sh-cta-hover:0 18px 44px rgba(201,135,85,.36);
                --sh-focus:0 0 0 3px rgba(201,135,85,.32);
                --f-display:'Sora',"Noto Sans TC","PingFang TC","Microsoft JhengHei",system-ui,sans-serif;
                --f-body:'Inter',"Noto Sans TC","PingFang TC","Microsoft JhengHei",system-ui,sans-serif;
                --eb-track:.16em;
                display:grid; grid-template-columns:minmax(0,1fr) 296px; gap:24px;
                align-items:start;
                /* full-bleed：跳出 WP 主題 .entry-content 容器，吃滿 viewport 全寬
                   用 margin shorthand + !important 一次蓋過 WoodMart 的
                   `.entry-content > * { margin-block: 0 var(--wd-block-spacing) }`，
                   避免 theme 把 margin-top 強制重設為 0 */
                box-sizing:border-box;
                width:100vw; max-width:100vw;
                position:relative; left:50%; right:50%;
                margin:-40px -50vw 0 !important;
                padding:0 clamp(16px, 3vw, 56px);
                color:var(--ink); font-family:var(--f-body); font-size:15px; line-height:1.6;
                scroll-margin-top:clamp(24px, 10vw, 120px);
            }
            .evp-page *, .evp-page *::before, .evp-page *::after{box-sizing:border-box;}

            /* === Panel (cream 紙底，含 filter sidebar + main 內容) ============= */
            .evp{
                background:var(--paper);
                border-radius:var(--r-lg);
                padding:clamp(20px,3vw,32px);
                background-image:
                    radial-gradient(1200px 600px at 100% -10%, rgba(201,135,85,.10), transparent 60%),
                    radial-gradient(900px 480px at -10% 110%, rgba(214,168,95,.08), transparent 60%);
                min-width:0;
                scroll-margin-top:clamp(24px, 10vw, 120px);
            }

            /* ---------- Shell (filter | main) inside panel -------------------- */
            .evp .evp-shell{
                display:grid; grid-template-columns:260px minmax(0,1fr); gap:24px;
                align-items:start;
            }
            .evp .evp-main{min-width:0;}

            /* ---------- Wishlist sidebar (right) ------------------------------ */
            .evp-page .evp-wishlist{
                position:sticky; top:20px; align-self:start;
                background:var(--surface-strong);
                border:1px solid var(--paper-edge) !important;
                border-radius:var(--r-lg) !important;
                padding:20px 18px;
                box-shadow:var(--sh-card);
                display:flex; flex-direction:column; gap:14px;
                max-height:calc(100vh - 40px);
                overflow:hidden;
            }
            .evp-page .evp-wishlist-bubble{
                display:none;
            }
            .evp-page .evp-wishlist-panel{
                display:flex; flex-direction:column; gap:14px;
                min-height:0;
            }
            .evp-page .evp-wishlist-head{
                display:flex; align-items:center; gap:10px;
                padding-bottom:14px;
                border-bottom:1px solid var(--paper-edge);
                flex:0 0 auto;
            }
            .evp-page .evp-wishlist-mark{
                display:inline-flex; align-items:center; justify-content:center;
                width:36px; height:36px; flex:0 0 36px;
                background:var(--honey-soft); color:#8a5a00;
                border:1px solid rgba(227,178,96,.40);
                border-radius:10px;
            }
            .evp-page .evp-wishlist-name{
                font-family:var(--f-display); font-size:15px; font-weight:700;
                color:var(--ink); letter-spacing:-.01em; line-height:1.2;
            }
            .evp-page .evp-wishlist-meta{
                font-size:11px; color:var(--ink-44);
                letter-spacing:.04em; margin-top:2px;
            }
            .evp-page .evp-wishlist-meta #evp-wishlist-count{
                font-family:var(--f-display); font-weight:700;
                color:#8a5a00; font-size:12px;
            }
            .evp-page .evp-wishlist-close{
                display:none;
            }
            .evp-page .evp-wishlist-list{
                display:flex; flex-direction:column; gap:10px;
                overflow-y:auto; flex:0 1 auto; min-height:0;
                /* 約 6 個 item 高度 (~95px ea + 10px gap)，超過內捲 */
                max-height:calc(6 * 95px + 5 * 10px);
                padding-right:2px;
            }
            .evp-page .evp-wishlist-list::-webkit-scrollbar{width:4px;}
            .evp-page .evp-wishlist-list::-webkit-scrollbar-thumb{background:var(--paper-edge); border-radius:2px;}
            .evp-page .evp-wishlist-empty{
                text-align:center; padding:24px 14px;
                font-size:12px; color:var(--ink-44); line-height:1.6;
                background:var(--paper-soft);
                border:1px dashed var(--paper-edge);
                border-radius:var(--r-md);
            }
            .evp-page .evp-wishlist-empty-title{
                display:block; font-family:var(--f-display); font-size:13px;
                color:var(--ink-78); margin-bottom:4px; font-weight:600;
            }
            .evp-page .evp-wish-item{
                position:relative;
                padding:12px 38px 12px 14px;
                background:linear-gradient(180deg, #fff 0%, var(--honey-soft) 130%);
                border:1px solid rgba(227,178,96,.40);
                border-radius:var(--r-md);
                display:flex; flex-direction:column; gap:3px;
                transition:transform .18s ease, box-shadow .18s ease;
            }
            .evp-page .evp-wish-item:hover{
                transform:translateY(-1px);
                box-shadow:0 8px 20px rgba(227,178,96,.20);
            }
            .evp-page .evp-wish-dept{
                font-size:10px; font-weight:800; letter-spacing:var(--eb-track);
                text-transform:uppercase; color:#8a5a00; line-height:1;
            }
            .evp-page .evp-wish-meta{
                font-size:11px; color:var(--ink-78);
                overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
                line-height:1.4;
            }
            .evp-page .evp-wish-plate{
                font-family:var(--f-display); font-size:19px; font-weight:600;
                letter-spacing:.02em; color:var(--ink);
                font-variant-numeric:tabular-nums;
                white-space:nowrap; line-height:1.2;
                margin-top:2px;
            }
            .evp-page .evp-wish-price{
                font-family:var(--f-display); font-size:12px; font-weight:700;
                color:var(--copper-deep); font-variant-numeric:tabular-nums;
                margin-top:1px;
            }
            .evp-page .evp-wish-tail{
                display:flex; align-items:center; justify-content:space-between;
                gap:10px; min-width:0; margin-top:1px;
                width:calc(100% + 24px);
                max-width:calc(100% + 24px);
                margin-right:-24px;
            }
            .evp-page .evp-wish-tail .evp-wish-price{
                flex:1 1 auto; min-width:0;
                overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
            }
            .evp-page .evp-wish-fortune{
                flex:0 0 auto; display:inline-flex; align-items:center; justify-content:center;
                max-width:42%;
                margin-left:auto;
                font-family:var(--f-body); font-size:10.5px; line-height:1; font-weight:800;
                font-variant-numeric:tabular-nums;
                cursor:pointer;
            }
            .evp-page .evp-wish-fortune:focus-visible{outline:none;}
            .evp-page .evp-wish-fortune-score{
                display:inline-flex; align-items:center; justify-content:center;
                min-width:0; height:22px; padding:0 8px;
                border-radius:999px;
                border:1px solid rgba(102,80,61,.18);
                background:rgba(255,255,255,.64);
                white-space:nowrap;
            }
            .evp-page .evp-wish-fortune:hover .evp-wish-fortune-score,
            .evp-page .evp-wish-fortune.is-open .evp-wish-fortune-score,
            .evp-page .evp-wish-fortune:focus-visible .evp-wish-fortune-score{
                box-shadow:var(--sh-focus);
            }
            .evp-page .evp-wish-fortune-great_luck .evp-wish-fortune-score,
            .evp-page .evp-wish-fortune-luck .evp-wish-fortune-score{
                color:#1F6B3A; background:rgba(72,168,109,.13); border-color:rgba(72,168,109,.32);
            }
            .evp-page .evp-wish-fortune-mixed .evp-wish-fortune-score,
            .evp-page .evp-wish-fortune-neutral .evp-wish-fortune-score{
                color:#8A5A00; background:var(--honey-soft); border-color:rgba(227,178,96,.38);
            }
            .evp-page .evp-wish-fortune-weak .evp-wish-fortune-score,
            .evp-page .evp-wish-fortune-bad_luck .evp-wish-fortune-score{
                color:var(--rust); background:var(--rust-soft); border-color:var(--rust-edge);
            }
            .evp-page .evp-wish-remove{
                position:absolute; top:10px; right:10px;
                display:inline-flex; align-items:center; justify-content:center;
                width:22px; height:22px;
                background:rgba(227,178,96,.22);
                color:#8a5a00;
                border-radius:999px; cursor:pointer;
                transition:background .15s ease, color .15s ease;
                vertical-align:middle;
            }
            .evp-page .evp-wish-remove:hover{background:var(--rust); color:#fff;}
            .evp-page .evp-wish-remove svg{display:block; width:10px; height:10px;}
            .evp-page .evp-wishlist-footer{
                flex:0 0 auto; padding-top:12px;
                border-top:1px solid var(--paper-edge);
                display:flex; flex-direction:column; gap:8px;
            }
            .evp-page .evp-wishlist-subbtn,
            .evp-page .evp-wishlist-copybtn,
            .evp-page .evp-wishlist-clearbtn{
                display:inline-flex; align-items:center; justify-content:center;
                box-sizing:border-box;
                width:100%; height:36px; padding:0 14px;
                background:transparent;
                border:1px solid var(--paper-edge);
                border-radius:999px;
                font-family:var(--f-body);
                font-size:11.5px; font-weight:700; letter-spacing:.04em;
                color:var(--ink-78); line-height:1;
                cursor:pointer; user-select:none;
                transition:border-color .15s ease, color .15s ease;
            }
            .evp-page .evp-wishlist-subbtn{
                background:var(--copper-soft);
                border-color:var(--copper-edge);
                color:var(--copper-deep);
            }
            .evp-page .evp-wishlist-subbtn:hover{border-color:var(--copper); color:var(--ink);}
            .evp-page .evp-wishlist-subbtn:focus-visible{outline:none; box-shadow:var(--sh-focus);}
            .evp-page .evp-wishlist-copybtn:hover{border-color:var(--copper-edge); color:var(--copper-deep);}
            .evp-page .evp-wishlist-copybtn:focus-visible{outline:none; box-shadow:var(--sh-focus);}
            .evp-page .evp-wishlist-clearbtn:hover{border-color:var(--rust-edge); color:var(--rust);}
            .evp-page .evp-wishlist-clearbtn:focus-visible{outline:none; box-shadow:var(--sh-focus);}

            .evp-modal[hidden]{display:none !important;}
            .evp-modal{
                position:fixed; inset:0; z-index:99999;
                display:flex; align-items:center; justify-content:center;
                padding:22px;
            }
            .evp-modal-backdrop{
                position:absolute; inset:0;
                background:rgba(32,28,24,.34);
                backdrop-filter:blur(4px);
            }
            .evp-modal-panel{
                position:relative; width:min(460px, 100%);
                background:var(--surface-strong);
                border:1px solid var(--paper-edge);
                border-radius:var(--r-lg);
                box-shadow:0 24px 80px rgba(36,31,26,.22);
                padding:24px;
            }
            .evp-modal-x{
                position:absolute; top:14px; right:14px;
                width:30px; height:30px; border-radius:999px !important;
                border:1px solid var(--paper-edge) !important;
                background:var(--paper-soft) !important;
                color:var(--ink-78) !important;
                cursor:pointer; line-height:1; font-size:18px;
            }
            .evp-modal-x:hover{border-color:var(--copper-edge) !important; color:var(--ink) !important;}
            .evp-modal-kicker{
                font-size:11px; font-weight:800; letter-spacing:var(--eb-track);
                text-transform:uppercase; color:var(--copper-deep);
                margin-bottom:8px;
            }
            .evp-modal-title{
                margin:0 36px 8px 0;
                font-family:var(--f-display); font-size:22px; font-weight:700;
                color:var(--ink); letter-spacing:0;
            }
            .evp-modal-copy{
                margin:0 0 16px;
                color:var(--ink-78); font-size:13px; line-height:1.7;
            }
            .evp-sub-form{display:flex; flex-direction:column; gap:10px;}
            .evp-sub-label{font-size:12px; font-weight:800; color:var(--ink-78);}
            .evp-sub-input{
                width:100%; height:42px; padding:0 13px !important;
                border:1px solid var(--paper-edge) !important;
                border-radius:10px !important;
                background:var(--paper-soft) !important;
                color:var(--ink) !important;
                font-size:14px;
            }
            .evp-sub-input:focus{outline:none !important; box-shadow:var(--sh-focus) !important;}
            .evp-sub-rules{
                display:flex; flex-direction:column; gap:5px;
                padding:12px 13px;
                background:var(--paper-soft);
                border:1px solid var(--paper-edge);
                border-radius:10px;
                color:var(--ink-58); font-size:12px; line-height:1.5;
            }
            .evp-sub-status{min-height:18px; font-size:12px; color:var(--ink-78);}
            .evp-sub-status.is-error{color:var(--rust);}
            .evp-sub-status.is-ok{color:#1F6B3A;}
            .evp-sub-submit{
                height:40px; border-radius:999px !important;
                border:1px solid var(--copper-edge) !important;
                background:var(--copper) !important;
                color:#fff !important;
                font-family:var(--f-body); font-size:13px; font-weight:800;
                cursor:pointer;
            }
            .evp-sub-submit:disabled{opacity:.5; cursor:not-allowed;}

            /* ---------- Sidebar ----------------------------------------------- */
            .evp .evp-aside{
                position:sticky; top:20px; align-self:start;
                background:var(--surface-strong);
                border:1px solid var(--paper-edge) !important;
                border-radius:var(--r-lg) !important;
                padding:20px 18px;
                box-shadow:var(--sh-card);
                display:flex; flex-direction:column; gap:18px;
                max-height:calc(100vh - 40px); overflow:auto;
            }
            .evp .evp-aside-body{
                display:flex; flex-direction:column; gap:18px;
            }
            .evp .evp-aside::-webkit-scrollbar{width:6px;}
            .evp .evp-aside::-webkit-scrollbar-thumb{background:var(--paper-edge); border-radius:3px;}
            .evp .evp-aside-brand{
                display:flex; align-items:center; gap:10px;
                padding-bottom:16px;
                border-bottom:1px solid var(--paper-edge);
            }
            .evp .evp-aside-mark{
                display:inline-flex; align-items:center; justify-content:center;
                width:36px; height:36px; flex:0 0 36px;
                background:var(--copper-soft); color:var(--copper-deep);
                border:1px solid var(--copper-edge);
                border-radius:10px;
            }
            .evp .evp-aside-name{
                margin:0;
                font-family:var(--f-display); font-size:16px; font-weight:700;
                color:var(--ink); letter-spacing:-.01em; line-height:1.2;
                white-space:nowrap;
            }
            .evp .evp-aside-toggle{
                display:none;
            }
            .evp .evp-aside-group{display:flex; flex-direction:column; gap:6px;}
            .evp .evp-aside-title{
                font-size:10.5px; font-weight:800; letter-spacing:var(--eb-track);
                text-transform:uppercase; color:var(--ink-44);
                margin:0 4px 4px; line-height:1;
            }
            .evp .evp-aside-list{
                display:flex; flex-direction:column; gap:2px;
                max-height:380px; overflow:auto;
                padding-right:2px;
            }
            .evp .evp-aside-list::-webkit-scrollbar{width:4px;}
            .evp .evp-aside-list::-webkit-scrollbar-thumb{background:var(--paper-edge); border-radius:2px;}
            .evp .evp-facet{
                display:flex; align-items:center; justify-content:space-between; gap:8px;
                width:100%; min-height:36px; padding:7px 10px;
                font-family:var(--f-body); font-size:13px; font-weight:500;
                color:var(--ink-78);
                background:transparent !important;
                border:1px solid transparent !important;
                border-radius:10px !important;
                cursor:pointer; text-align:left;
                transition:background .15s ease, color .15s ease, border-color .15s ease;
            }
            .evp .evp-facet:hover{background:var(--paper-soft) !important; color:var(--ink);}
            .evp .evp-facet.is-active{
                background:var(--copper-soft) !important;
                color:var(--copper-deep) !important;
                border-color:var(--copper-edge) !important;
                font-weight:600;
            }
            .evp .evp-facet-label{
                flex:1 1 auto; min-width:0;
                overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
            }
            .evp .evp-facet-count{
                flex:0 0 auto;
                font-family:var(--f-display); font-size:11px; font-weight:600;
                color:var(--ink-44); font-variant-numeric:tabular-nums;
                background:var(--paper-soft); padding:2px 7px;
                border-radius:6px; min-width:26px; text-align:center;
                line-height:1.5;
            }
            .evp .evp-facet.is-active .evp-facet-count{
                background:rgba(201,135,85,.18); color:var(--copper-deep);
            }
            .evp .evp-aside-footer{
                display:none !important;
                margin:0; padding:0;
                border-top:0;
            }
            .evp .evp-aside-meta{
                font-size:11px; color:var(--ink-44);
                letter-spacing:.02em; line-height:1.6;
                text-align:center; padding:4px 0;
            }
            .evp .evp-aside-meta b{
                display:block; font-family:var(--f-display);
                font-size:12px; color:var(--ink-78); font-weight:600;
                margin-top:2px; letter-spacing:.01em;
            }

            /* ---------- Main top bar (tabs + search) -------------------------- */
            .evp .evp-main-bar{
                display:flex; align-items:center; justify-content:space-between;
                gap:16px; flex-wrap:wrap;
                padding-bottom:0;
                border-bottom:1px solid var(--paper-edge);
                margin-bottom:14px;
            }
            .evp .evp-tabs{
                display:flex; gap:24px; align-items:center;
                order:1; flex:1 1 auto; min-width:0;
                margin-bottom:-1px;
            }
            .evp .evp-tab{
                display:inline-flex; align-items:center; gap:8px;
                padding:14px 2px;
                outline:none !important;
                background:transparent !important;
                border:none !important; border-bottom:2px solid transparent !important;
                cursor:pointer;
                font-family:var(--f-body); font-size:14px; font-weight:600;
                color:var(--ink-44) !important;
                transition:color .18s ease, border-color .18s ease;
                border-radius:0 !important;
            }
            .evp .evp-tab:hover{color:var(--ink-78) !important;}
            .evp .evp-tab[hidden]{display:none !important;}
            .evp .evp-tab:focus{outline:none !important; box-shadow:none !important;}
            .evp .evp-tab:focus-visible{outline:none !important; box-shadow:0 2px 0 var(--copper) !important;}
            .evp .evp-tab.is-active{
                color:var(--ink) !important;
                border-bottom-color:var(--copper) !important;
            }
            .evp .evp-tab-count{
                font-family:var(--f-display); font-size:11px; font-weight:700;
                color:var(--ink-44); font-variant-numeric:tabular-nums;
                background:var(--paper-soft); padding:2px 7px;
                border-radius:999px; line-height:1.5;
            }
            .evp .evp-tab.is-active .evp-tab-count{
                background:var(--copper-soft); color:var(--copper-deep);
            }

            /* === 標牌級別子篩選 (visible only when state.market === 'bid') === */
            .evp .evp-level-group{
                display:inline-flex; align-items:center; gap:6px;
                order:2; flex:0 0 auto;
                margin:0 0 10px;
            }
            .evp .evp-level-group[hidden]{display:none !important;}
            .evp .evp-level-divider{
                display:inline-block;
                width:1px; height:18px;
                background:var(--paper-edge);
                margin:0 2px;
            }
            .evp .evp-level-pill{
                display:inline-flex; align-items:center; justify-content:center; gap:5px;
                box-sizing:border-box;
                height:28px; padding:0 11px;
                background:var(--copper-soft) !important;
                border:1px solid var(--copper-edge) !important;
                border-radius:999px !important;
                font-family:var(--f-body);
                font-size:12px; font-weight:700; letter-spacing:.02em;
                color:var(--copper-deep) !important;
                cursor:pointer; user-select:none;
                line-height:1;
                transition:background .15s ease, color .15s ease, border-color .15s ease, box-shadow .15s ease;
                box-shadow:none !important; outline:none;
                min-height:0 !important; max-height:28px;
            }
            .evp .evp-level-pill:hover{background:rgba(201,135,85,.18) !important;}
            .evp .evp-level-pill:focus-visible{outline:none; box-shadow:var(--sh-focus) !important;}
            .evp .evp-level-pill.is-active{
                background:var(--ink) !important;
                color:var(--paper) !important;
                border-color:var(--ink) !important;
                box-shadow:0 8px 22px rgba(201,135,85,.30) !important;
            }
            .evp .evp-level-count{
                font-family:var(--f-display); font-size:10.5px; font-weight:700;
                font-variant-numeric:tabular-nums; opacity:.85;
                line-height:1;
            }

            .evp .evp-main-search{
                position:relative; display:flex; align-items:center;
                order:3;
                min-width:240px; flex:0 1 320px;
                margin-bottom:10px;
            }
            .evp .evp-main-search-glyph{
                position:absolute; left:14px; top:50%; transform:translateY(-50%);
                color:var(--ink-44); font-size:16px; pointer-events:none;
                line-height:1;
            }
            .evp .evp-input-search{
                padding-left:38px !important;
                padding-right:44px !important;
                height:42px !important; min-height:42px !important;
                border-radius:999px !important; background:var(--paper-soft) !important;
            }
            .evp .evp-search-clear{
                --btn-height:28px; --btn-padding:0; --btn-brd-radius:50%;
                appearance:none !important; -webkit-appearance:none !important;
                position:absolute; right:8px; top:50%; transform:translateY(-50%);
                display:inline-flex; align-items:center; justify-content:center;
                width:28px !important; height:28px !important;
                min-width:28px !important; min-height:28px !important;
                max-width:28px !important; max-height:28px !important;
                padding:0 0 1px !important; margin:0 !important;
                border-radius:50% !important;
                border:1px solid var(--paper-edge) !important;
                background:rgba(255,255,255,.72) !important;
                color:var(--ink-58) !important;
                font-family:var(--f-body);
                font-size:17px; line-height:1; font-weight:800;
                box-shadow:none !important; text-shadow:none !important;
                cursor:pointer; text-transform:none; z-index:2;
            }
            .evp .evp-search-clear[hidden]{display:none !important;}
            .evp .evp-search-clear:hover{
                color:var(--rust) !important;
                border-color:var(--rust-edge) !important;
                background:var(--surface-strong) !important;
            }
            .evp .evp-search-clear:focus-visible{
                outline:none; box-shadow:var(--sh-focus) !important;
            }

            /* ---------- Active filter chips ----------------------------------- */
            .evp .evp-active-filters{
                display:flex; align-items:center; flex-wrap:wrap; gap:6px;
                margin:0 0 4px;
            }
            .evp .evp-active-label{
                font-size:11px; font-weight:800; letter-spacing:var(--eb-track);
                text-transform:uppercase; color:var(--ink-44); margin-right:4px;
            }
            /* Pure-span chip design — 全程使用 span+SVG，完全跳過 WP 主題對 button/input 的汙染 */
            .evp .evp-active-chip,
            .evp .evp-active-clearall{
                display:inline-flex; align-items:center;
                box-sizing:border-box;
                height:28px; line-height:1;
                border-radius:999px;
                font-family:var(--f-body); font-size:12px;
                cursor:pointer; user-select:none;
                vertical-align:middle;
                white-space:nowrap;
                transition:background .15s ease, border-color .15s ease, color .15s ease;
            }
            .evp .evp-active-chip:focus-visible,
            .evp .evp-active-clearall:focus-visible{outline:none; box-shadow:var(--sh-focus);}
            .evp .evp-active-chip{
                gap:6px; padding:0 5px 0 12px;
                background:var(--copper-soft);
                border:1px solid var(--copper-edge);
                color:var(--copper-deep); font-weight:600;
            }
            .evp .evp-active-chip:hover{background:rgba(201,135,85,.18);}
            .evp .evp-active-chip__text{
                display:inline-block; line-height:1;
            }
            .evp .evp-active-chip__x{
                display:inline-flex; align-items:center; justify-content:center;
                width:18px; height:18px; flex:0 0 18px;
                border-radius:999px;
                background:rgba(201,135,85,.22);
                color:var(--copper-deep);
                transition:background .15s ease, color .15s ease;
            }
            .evp .evp-active-chip:hover .evp-active-chip__x{background:var(--copper); color:#fff;}
            .evp .evp-active-chip__x svg{display:block; width:10px; height:10px;}
            .evp .evp-active-clearall{
                padding:0 14px; margin-left:2px;
                background:transparent;
                border:1px solid var(--paper-edge);
                color:var(--ink-78); font-weight:700;
                letter-spacing:.04em;
            }
            .evp .evp-active-clearall:hover{border-color:var(--copper-edge); color:var(--ink);}
            .evp *,.evp *::before,.evp *::after{box-sizing:border-box;}

            /* ---------- Hero (now inside main column) -------------------------- */
            .evp .evp-hero{margin:0 0 20px; max-width:760px;}
            .evp .evp-eyebrow{
                display:inline-block; font-family:var(--f-body); font-weight:800;
                font-size:11px; letter-spacing:var(--eb-track); text-transform:uppercase;
                color:var(--ink-44); margin-bottom:10px;
            }
            .evp .evp-headline{
                font-family:var(--f-display); font-weight:500;
                font-size:clamp(28px,3.8vw,44px); line-height:1.05;
                letter-spacing:-.035em; color:var(--ink);
                margin:0 0 10px;
            }
            .evp .evp-headline em{font-style:normal; font-weight:400; color:var(--copper-deep);}
            .evp .evp-lede{
                font-size:14px; color:var(--ink-78);
                margin:0; max-width:60ch;
            }

            /* ---------- Search input (used inside main top bar) --------------- */
            .evp .evp-input{
                appearance:none !important; -webkit-appearance:none !important;
                width:100%; box-sizing:border-box;
                min-height:42px; height:42px; line-height:1.2;
                font-family:var(--f-body); font-size:14px; font-weight:500; color:var(--ink);
                background-color:var(--surface-strong);
                border:1px solid var(--paper-edge) !important;
                border-radius:var(--r-md) !important;
                padding:0 16px;
                box-shadow:none;
                transition:border-color .18s ease, box-shadow .18s ease, background .18s ease;
            }
            .evp .evp-input::placeholder{color:var(--ink-44); opacity:1;}
            .evp .evp-input::-webkit-search-cancel-button{-webkit-appearance:none; appearance:none;}
            .evp .evp-input:hover{border-color:var(--copper-edge) !important;}
            .evp .evp-input:focus{outline:none; border-color:var(--copper) !important; background:var(--surface-strong) !important; box-shadow:var(--sh-focus) !important;}

            /* ---------- Buttons ------------------------------------------------ */
            .evp .evp-btn{
                position:relative;
                display:inline-flex; align-items:center; justify-content:center; gap:8px;
                font-family:var(--f-body); font-size:13px; font-weight:700;
                letter-spacing:.04em;
                width:100%; max-width:100%;
                min-height:46px; height:46px;
                padding:0 22px; margin:0;
                background:transparent;
                border:none !important; border-radius:var(--r-pill) !important; cursor:pointer;
                box-sizing:border-box;
                text-decoration:none; text-shadow:none;
                transition:transform .18s ease, box-shadow .22s ease, background .2s ease, color .2s ease;
                white-space:nowrap;
            }
            .evp .evp-btn:focus-visible{outline:none; box-shadow:var(--sh-focus) !important;}
            .evp .evp-btn-primary{
                background:var(--ink) !important; color:var(--paper) !important;
                box-shadow:var(--sh-cta);
                letter-spacing:.06em;
            }
            .evp .evp-btn-primary:hover{transform:translateY(-1px); box-shadow:var(--sh-cta-hover); background:#221C16 !important;}
            .evp .evp-btn-primary:active{transform:translateY(0);}
            .evp .evp-btn-primary .evp-btn-glyph{
                font-size:15px; line-height:1; color:var(--copper-bright);
                transition:transform .4s ease;
            }
            .evp .evp-btn-primary:hover .evp-btn-glyph{transform:rotate(180deg);}
            .evp .evp-btn-ghost{
                background:transparent !important; color:var(--ink) !important;
                border:1px solid var(--paper-edge) !important;
                box-shadow:none;
            }
            .evp .evp-btn-ghost:hover{background:var(--surface) !important; border-color:var(--copper-edge) !important; transform:translateY(-1px);}
            .evp .evp-btn:disabled{opacity:.38; cursor:not-allowed; transform:none; box-shadow:none;}

            /* ---------- Status ------------------------------------------------- */
            .evp .evp-status-row{
                margin:18px 2px 6px;
                display:flex; align-items:center; justify-content:space-between;
                gap:14px; flex-wrap:wrap;
                min-height:34px;
            }
            .evp-status{
                margin:0; font-size:13.5px; color:var(--ink-78);
                display:flex; align-items:center; gap:8px; flex-wrap:wrap;
                min-height:22px;
            }
            .evp-status-updated{
                display:inline-flex; align-items:baseline; gap:6px;
                color:var(--ink-58); font-weight:700;
                font-variant-numeric:tabular-nums;
            }
            .evp-status-updated b{
                color:var(--ink); font-family:var(--f-display); font-weight:600;
            }
            .evp-status .evp-err{
                color:var(--rust); background:var(--rust-soft); border:1px solid var(--rust-edge);
                padding:4px 10px; border-radius:var(--r-pill); font-weight:600;
            }
            .evp .evp-sort{
                margin-left:auto;
                display:flex; align-items:center; gap:8px;
                flex:0 0 auto;
            }
            .evp .evp-sort[hidden]{display:none !important;}
            .evp .evp-sort-label{
                font-size:12px; font-weight:700; color:var(--ink-44);
                letter-spacing:.02em; white-space:nowrap;
            }
            .evp .evp-sort-select{
                appearance:none; -webkit-appearance:none;
                min-width:176px; height:34px;
                padding:0 34px 0 13px !important;
                border:1px solid var(--paper-edge) !important;
                border-radius:999px !important;
                background:
                    linear-gradient(45deg, transparent 50%, var(--ink-44) 50%) calc(100% - 18px) 14px/5px 5px no-repeat,
                    linear-gradient(135deg, var(--ink-44) 50%, transparent 50%) calc(100% - 13px) 14px/5px 5px no-repeat,
                    var(--paper-soft) !important;
                color:var(--ink-78) !important;
                font-family:var(--f-body); font-size:12px; font-weight:700;
                line-height:34px; cursor:pointer;
                box-shadow:none !important;
            }
            .evp .evp-sort-select:hover{border-color:var(--copper-edge) !important; color:var(--ink) !important;}
            .evp .evp-sort-select:focus{outline:none !important; box-shadow:var(--sh-focus) !important;}
            .evp-spin{
                display:inline-block; width:14px; height:14px;
                border:2px solid var(--copper-edge); border-top-color:var(--copper);
                border-radius:50%; animation:evp-spin .9s linear infinite;
            }
            @keyframes evp-spin{to{transform:rotate(360deg);}}

            /* ---------- Plate grid + cards ------------------------------------- */
            .evp .evp-grid{
                display:grid; gap:14px; margin-top:18px;
                /* 桌面鎖 5 欄；JS 每頁 20 張，形成 4 行 x 5 欄 */
                grid-template-columns:repeat(5, minmax(0, 1fr));
            }
            .evp .evp-card{
                position:relative;
                background:var(--surface-strong);
                border:1px solid var(--paper-edge) !important;
                border-radius:var(--r-lg) !important;
                padding:14px 14px 16px;
                box-shadow:var(--sh-card);
                transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;
                display:flex; flex-direction:column; gap:8px;
                overflow:hidden;
                list-style:none; min-width:0;
            }
            .evp .evp-card::before{
                content:""; position:absolute; inset:0 0 auto 0; height:3px;
                background:linear-gradient(90deg, var(--copper) 0%, var(--copper-bright) 60%, transparent 100%);
                opacity:.85;
            }
            .evp .evp-card:hover{transform:translateY(-3px); box-shadow:0 24px 56px rgba(24,19,15,.12), inset 0 1px 0 rgba(255,255,255,.6); border-color:var(--copper-edge) !important;}
            .evp .evp-card-head{
                display:flex; justify-content:space-between; align-items:center; gap:6px;
                flex-wrap:nowrap; min-width:0;
            }
            .evp .evp-card-head > *{flex:0 0 auto;}
            .evp .evp-chip,
            .evp .evp-status-pill{
                display:inline-flex; align-items:center; justify-content:center;
                font-weight:800; letter-spacing:var(--eb-track);
                text-transform:uppercase;
                line-height:1;
                border-radius:var(--r-pill);
                white-space:nowrap;
            }
            .evp .evp-chip{
                font-size:10.5px; color:var(--copper-deep);
                background:var(--copper-soft);
                padding:6px 10px 5px;
                border:1px solid var(--copper-edge);
            }
            .evp .evp-status-pill{
                font-size:10px;
                padding:6px 10px 5px;
                border-width:1px; border-style:solid;
            }
            .evp .evp-status-pill.live{color:#1F6B3A; background:rgba(72,168,109,.14); border-color:rgba(72,168,109,.34);}
            .evp .evp-status-pill.bid{color:#245E8F; background:rgba(54,132,190,.13); border-color:rgba(54,132,190,.34);}
            .evp .evp-status-pill.bidding{color:#9D2B1F; background:rgba(216,80,52,.14); border-color:rgba(216,80,52,.34);}
            .evp .evp-status-pill.ended{color:#5E4A3B; background:rgba(94,74,59,.12); border-color:rgba(94,74,59,.26);}
            .evp .evp-status-pill.sold{color:var(--rust); background:var(--rust-soft); border-color:var(--rust-edge);}
            .evp .evp-status-pill.wished{color:#8a5a00; background:var(--honey-soft); border-color:rgba(227,178,96,.40);}
            .evp .evp-station{
                font-family:var(--f-display); font-size:12.5px; font-weight:600;
                color:var(--ink-78); letter-spacing:-.01em; line-height:1.4;
                overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
            }
            .evp .evp-plate{
                font-family:var(--f-display); font-weight:600;
                font-size:clamp(20px, 1.3vw, 24px); line-height:1.1;
                letter-spacing:.02em; color:var(--ink);
                font-variant-numeric:tabular-nums;
                margin:2px 0 0;
                white-space:nowrap;
                overflow:hidden; text-overflow:clip;
            }
            .evp .evp-fortune{
                flex:0 1 auto; display:flex; align-items:center; justify-content:flex-end;
                min-width:0; max-width:42%;
                font-size:10.5px; line-height:1; font-weight:800;
                font-variant-numeric:tabular-nums;
                cursor:pointer;
            }
            .evp .evp-fortune:focus-visible{outline:none;}
            .evp .evp-fortune-score{
                display:inline-flex; align-items:center; justify-content:center;
                gap:4px; flex:0 1 auto; min-width:0; height:22px;
                padding:0 8px; border-radius:999px;
                border:1px solid rgba(102,80,61,.18);
                background:rgba(255,255,255,.64);
                white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
            }
            .evp .evp-fortune:hover .evp-fortune-score,
            .evp .evp-fortune.is-open .evp-fortune-score,
            .evp .evp-fortune:focus-visible .evp-fortune-score{
                box-shadow:var(--sh-focus);
            }
            .evp .evp-fortune-kicker{
                display:inline-flex; align-items:center;
                height:12px; line-height:12px;
                color:var(--ink-44); font-size:10px; font-weight:800;
            }
            .evp .evp-fortune-grade{
                display:inline-flex; align-items:center;
                height:12px; line-height:12px;
            }
            .evp .evp-fortune-great_luck .evp-fortune-score,
            .evp .evp-fortune-luck .evp-fortune-score{
                color:#1F6B3A; background:rgba(72,168,109,.13); border-color:rgba(72,168,109,.32);
            }
            .evp .evp-fortune-mixed .evp-fortune-score,
            .evp .evp-fortune-neutral .evp-fortune-score{
                color:#8A5A00; background:var(--honey-soft); border-color:rgba(227,178,96,.38);
            }
            .evp .evp-fortune-weak .evp-fortune-score,
            .evp .evp-fortune-bad_luck .evp-fortune-score{
                color:var(--rust); background:var(--rust-soft); border-color:var(--rust-edge);
            }
            .evp .evp-card-tail{
                display:flex; align-items:flex-end; justify-content:space-between;
                gap:8px; min-width:0; margin-top:auto;
            }
            .evp .evp-price{
                flex:1 1 auto; min-width:0;
                display:flex; align-items:baseline; gap:4px;
                color:var(--copper-deep); font-weight:700;
                white-space:nowrap; overflow:hidden;
            }
            .evp .evp-price-num{font-family:var(--f-display); font-size:16.5px; font-variant-numeric:tabular-nums; letter-spacing:-.01em; white-space:nowrap;}
            .evp .evp-price-unit{font-size:11px; color:var(--ink-44); font-weight:600; white-space:nowrap;}
            .evp .evp-bid-time{
                min-height:18px; color:var(--ink-44); font-size:11px; font-weight:700;
                line-height:1.35; font-variant-numeric:tabular-nums;
                display:grid; grid-template-columns:1fr; gap:2px;
                white-space:nowrap;
            }
            /* 出價次數作為 bid-time 的第 3 行 inline 文字，不再用 pill，省高度 */
            .evp .evp-bid-time .evp-bid-count-inline{
                color:#9D2B1F; font-weight:700; letter-spacing:.02em;
            }

            /* clickable live & wished cards */
            .evp .evp-card-live,
            .evp .evp-card-bid,
            .evp .evp-card-bidding,
            .evp .evp-card-ended,
            .evp .evp-card-wished{cursor:pointer;}
            .evp .evp-card-live:active,
            .evp .evp-card-bid:active,
            .evp .evp-card-bidding:active,
            .evp .evp-card-ended:active,
            .evp .evp-card-wished:active{transform:translateY(-1px) scale(0.985); transition-duration:.08s;}

            /* sold-out variant */
            .evp .evp-card-sold{background:linear-gradient(180deg, #fff 0%, var(--rust-soft) 100%);}
            .evp .evp-card-sold::before{background:linear-gradient(90deg, var(--rust) 0%, #c66a5b 60%, transparent 100%);}
            .evp .evp-card-sold .evp-plate{color:var(--rust); position:relative;}
            .evp .evp-card-sold .evp-plate::after{
                content:""; position:absolute; left:-4%; right:-4%; top:55%;
                height:2px; background:var(--rust); transform:rotate(-6deg); opacity:.45;
            }
            .evp .evp-card-sold .evp-price{color:var(--rust);}

            /* bid announce variant */
            .evp .evp-card-bid{background:linear-gradient(180deg, #fff 0%, rgba(54,132,190,.09) 110%);}
            .evp .evp-card-bid::before{background:linear-gradient(90deg, #2F78B7 0%, #6BA6D6 60%, transparent 100%);}
            .evp .evp-card-bid .evp-plate{color:#194A73;}
            .evp .evp-card-bid .evp-price{color:#245E8F;}

            /* active bid variant */
            .evp .evp-card-bidding{background:linear-gradient(180deg, #fff 0%, rgba(216,80,52,.10) 115%);}
            .evp .evp-card-bidding::before{background:linear-gradient(90deg, #D85034 0%, #F0A05E 62%, transparent 100%);}
            .evp .evp-card-bidding .evp-plate{color:#7F1F17;}
            .evp .evp-card-bidding .evp-price{color:#9D2B1F;}
            .evp .evp-card-bidding:hover{border-color:rgba(216,80,52,.42) !important;}

            /* ended bid variant */
            .evp .evp-card-ended{background:linear-gradient(180deg, #fff 0%, rgba(94,74,59,.08) 115%);}
            .evp .evp-card-ended::before{background:linear-gradient(90deg, #5E4A3B 0%, #A08A73 62%, transparent 100%);}
            .evp .evp-card-ended .evp-plate{color:#4A3A2F;}
            .evp .evp-card-ended .evp-price{color:#5E4A3B;}

            /* wished variant — similar to sold but honey color, retain readable plate */
            .evp .evp-card-wished{background:linear-gradient(180deg, #fff 0%, var(--honey-soft) 110%);}
            .evp .evp-card-wished::before{background:linear-gradient(90deg, var(--honey) 0%, #f1c08a 60%, transparent 100%);}
            .evp .evp-card-wished .evp-plate{color:#8a5a00;}
            .evp .evp-card-wished .evp-price{color:#8a5a00;}
            .evp .evp-card-wished:hover{border-color:rgba(227,178,96,.50) !important;}

            /* empty state */
            .evp-empty{
                grid-column:1/-1; text-align:center; padding:48px 24px;
                background:var(--surface); border:1px dashed var(--paper-edge);
                border-radius:var(--r-lg); color:var(--ink-78);
            }
            .evp-empty-eyebrow{
                display:block; font-size:11px; font-weight:800; letter-spacing:var(--eb-track);
                text-transform:uppercase; color:var(--ink-44); margin-bottom:10px;
            }
            .evp-empty-title{font-family:var(--f-display); font-size:22px; font-weight:500; color:var(--ink); margin-bottom:8px; letter-spacing:-.015em;}

            /* ---------- Pager -------------------------------------------------- */
            .evp .evp-pager{
                display:flex; gap:6px; align-items:center; justify-content:center;
                margin-top:28px; flex-wrap:wrap;
            }
            .evp .evp-pager .evp-btn{
                --btn-height:40px; --btn-padding:0 16px; --btn-brd-radius:12px;
                width:auto !important; min-width:auto !important;
                height:40px !important; min-height:40px !important; max-height:40px !important;
                padding:0 16px !important; font-size:12.5px;
                border-radius:12px !important; text-transform:none;
                box-sizing:border-box;
            }
            .evp .evp-page-list{
                display:inline-flex; gap:4px; align-items:center; flex-wrap:wrap;
                margin:0 6px;
            }
            .evp .evp-page-btn{
                --btn-height:38px; --btn-padding:0; --btn-brd-radius:12px;
                display:inline-flex; align-items:center; justify-content:center;
                width:38px !important; min-width:38px !important; max-width:38px !important;
                height:38px !important; min-height:38px !important; max-height:38px !important;
                padding:0 !important;
                font-family:var(--f-display); font-size:13px; font-weight:600;
                color:var(--ink-78);
                background:transparent !important;
                border:1px solid var(--paper-edge) !important;
                border-radius:12px !important;
                cursor:pointer; font-variant-numeric:tabular-nums;
                transition:all .18s ease;
                box-sizing:border-box;
                text-transform:none;
            }
            .evp .evp-page-btn:hover{
                border-color:var(--copper-edge) !important;
                background:var(--surface) !important; color:var(--ink);
            }
            .evp .evp-page-btn.is-current{
                background:var(--ink) !important; color:var(--paper) !important;
                border-color:var(--ink) !important;
                box-shadow:0 8px 22px rgba(201,135,85,.30);
            }
            .evp .evp-page-ellipsis{
                display:inline-flex; align-items:center; justify-content:center;
                min-width:24px; height:38px;
                color:var(--ink-44); font-weight:600; user-select:none;
            }
            .evp .evp-page-total{
                display:inline-flex; align-items:center;
                font-family:var(--f-display); font-size:12px; color:var(--ink-44);
                padding:0 4px; font-variant-numeric:tabular-nums; letter-spacing:.02em;
            }

            .evp-fortune-tooltip{
                position:fixed; z-index:99999; width:min(390px, calc(100vw - 20px));
                max-height:min(76vh, 680px); overflow:auto;
                padding:15px; border-radius:16px;
                border:1px solid rgba(24,19,15,.12);
                background:#FFFDF8;
                box-shadow:0 24px 70px rgba(24,19,15,.22), inset 0 1px 0 rgba(255,255,255,.72);
                color:#18130F; font-family:'Inter',"Noto Sans TC","PingFang TC","Microsoft JhengHei",system-ui,sans-serif;
            }
            .evp-fortune-tip-head{
                display:flex; align-items:flex-start; justify-content:space-between; gap:12px;
                padding-bottom:10px; border-bottom:1px solid rgba(24,19,15,.10);
            }
            .evp-fortune-tip-title{
                min-width:0; flex:1 1 auto;
            }
            .evp-fortune-tip-title-row{
                display:flex; align-items:center; flex-wrap:wrap; gap:7px;
                margin-top:5px;
            }
            .evp-fortune-tip-head strong{
                display:block; margin:0;
                font-family:'Sora',"Noto Sans TC","PingFang TC","Microsoft JhengHei",system-ui,sans-serif;
                font-size:18px; line-height:1.15; letter-spacing:.02em;
            }
            .evp-fortune-tip-side{
                flex:0 0 auto; display:flex; flex-direction:column; align-items:flex-end; gap:7px;
            }
            .evp-fortune-tip-actions{
                display:flex; align-items:center; justify-content:flex-end; gap:7px;
            }
            .evp-fortune-tip-plate{
                height:32px; padding:0 10px; border-radius:11px;
                display:inline-flex; align-items:center; justify-content:center;
                background:rgba(24,19,15,.065); color:#18130F;
                font-family:'Sora',"Noto Sans TC","PingFang TC","Microsoft JhengHei",system-ui,sans-serif;
                font-size:16px; line-height:1; font-weight:900; letter-spacing:.02em;
                box-shadow:inset 0 1px 0 rgba(255,255,255,.72);
            }
            .evp-fortune-tip-close{
                --btn-height:32px; --btn-padding:0; --btn-brd-radius:50%;
                appearance:none; box-sizing:border-box;
                width:32px !important; height:32px !important;
                min-width:32px !important; min-height:32px !important;
                max-width:32px !important; max-height:32px !important;
                flex:0 0 32px; aspect-ratio:1/1;
                display:inline-flex; align-items:center; justify-content:center;
                border-radius:50% !important; border:1px solid rgba(24,19,15,.12);
                background:rgba(24,19,15,.055); color:rgba(24,19,15,.72);
                font-size:18px; line-height:1; font-weight:900; cursor:pointer;
                padding:0 0 1px !important; text-align:center;
                box-shadow:inset 0 1px 0 rgba(255,255,255,.76);
                text-transform:none;
            }
            .evp-fortune-tip-close:hover{
                background:rgba(140,58,44,.09); color:#8C3A2C; border-color:rgba(140,58,44,.22);
            }
            .evp-fortune-tip-close:focus-visible{
                outline:2px solid rgba(185,119,63,.45); outline-offset:3px;
            }
            .evp-fortune-tip-link{
                appearance:none; -webkit-appearance:none;
                border:0; background:transparent; box-shadow:none; padding:2px 0;
                color:#B9773F; font-size:11px; line-height:1.2; font-weight:900;
                text-decoration:underline; text-underline-offset:3px; cursor:pointer;
                white-space:nowrap; user-select:none; -webkit-tap-highlight-color:transparent;
            }
            .evp-fortune-tip-link:hover,
            .evp-fortune-tip-link:active{
                background:transparent; box-shadow:none; color:#9D6232;
            }
            .evp-fortune-tip-link:focus-visible{
                outline:2px solid rgba(185,119,63,.45); outline-offset:3px; border-radius:6px;
                background:transparent; box-shadow:none;
            }
            .evp-fortune-tip-link::selection{
                background:transparent;
            }
            .evp-fortune-tip-kicker{
                color:#B9773F; font-size:10px; font-weight:800; line-height:1;
                letter-spacing:.16em; text-transform:uppercase;
            }
            .evp-fortune-tip-pill{
                display:inline-flex; align-items:center; justify-content:center;
                flex:0 0 auto; min-width:58px; height:24px; padding:0 9px;
                border-radius:999px; color:#1F6B3A;
                font-size:12px; line-height:1; font-weight:900;
                background:rgba(72,168,109,.13); border:1px solid rgba(72,168,109,.32);
            }
            .evp-fortune-tip-pill-great_luck,
            .evp-fortune-tip-pill-luck{
                color:#1F6B3A; background:rgba(72,168,109,.13); border-color:rgba(72,168,109,.32);
            }
            .evp-fortune-tip-pill-mixed,
            .evp-fortune-tip-pill-neutral{
                color:#8A5A00; background:rgba(227,178,96,.16); border-color:rgba(227,178,96,.38);
            }
            .evp-fortune-tip-pill-weak,
            .evp-fortune-tip-pill-bad_luck{
                color:#8C3A2C; background:rgba(140,58,44,.10); border-color:rgba(140,58,44,.30);
            }
            .evp-fortune-view{display:none;}
            .evp-fortune-view.is-active{display:block;}
            .evp-fortune-summary-row{
                display:flex; align-items:center; justify-content:space-between; gap:12px;
                margin-top:9px;
            }
            .evp-fortune-summary-row strong{
                min-width:0; color:#18130F; font-size:13px; line-height:1.45; font-weight:900;
            }
            .evp-fortune-report{
                display:grid; gap:8px; margin-top:10px;
            }
            .evp-fortune-report section{
                padding:9px 10px; border-radius:12px;
                background:rgba(24,19,15,.035);
                border:1px solid rgba(24,19,15,.07);
            }
            .evp-fortune-report h4{
                margin:0 0 4px; color:#B9773F; font-size:11px; line-height:1.2; font-weight:900;
                letter-spacing:.08em;
            }
            .evp-fortune-report p{
                margin:0; color:rgba(24,19,15,.74); font-size:12px; line-height:1.55; font-weight:650;
            }
            .evp-fortune-code-note{
                margin-top:10px; padding:10px 11px; border-radius:12px;
                color:rgba(24,19,15,.68); font-size:12px; line-height:1.55; font-weight:700;
                background:rgba(185,119,63,.08); border:1px solid rgba(185,119,63,.18);
            }
            .evp-fortune-pairs{
                display:flex; flex-wrap:wrap; gap:6px; margin-top:10px;
            }
            .evp-fortune-pair{
                display:inline-flex; align-items:center; gap:4px;
                max-width:100%; height:24px; padding:0 8px;
                border-radius:999px; font-size:11px; font-weight:800;
                border:1px solid rgba(24,19,15,.12); background:rgba(24,19,15,.04);
            }
            .evp-fortune-pair b{font-variant-numeric:tabular-nums;}
            .evp-fortune-pair.is-good{color:#1F6B3A; background:rgba(72,168,109,.12); border-color:rgba(72,168,109,.28);}
            .evp-fortune-pair.is-bad{color:#8C3A2C; background:rgba(140,58,44,.09); border-color:rgba(140,58,44,.24);}
            .evp-fortune-pair.is-neutral{color:#8A5A00; background:rgba(227,178,96,.14); border-color:rgba(227,178,96,.30);}

            /* ---------- RWD ---------------------------------------------------- */
            @media (max-width:1600px){
                .evp .evp-grid{grid-template-columns:repeat(5, minmax(0, 1fr));}
            }
            @media (max-width:1440px){
                .evp-page{grid-template-columns:minmax(0,1fr) 280px; gap:20px;}
                .evp .evp-shell{grid-template-columns:240px minmax(0,1fr); gap:20px;}
                .evp .evp-grid{grid-template-columns:repeat(4, minmax(0, 1fr));}
            }
            @media (max-width:1180px){
                /* wishlist 從右側並排 → 移到 panel 下方 horizontal scroll */
                .evp-page{grid-template-columns:minmax(0,1fr); gap:18px;}
                .evp-page .evp-wishlist{position:static; max-height:none;}
                .evp-page .evp-wishlist-list{
                    flex-direction:row; flex-wrap:nowrap;
                    overflow-x:auto; overflow-y:hidden;
                    padding-bottom:4px;
                    max-height:none;
                }
                .evp-page .evp-wish-item{flex:0 0 220px;}
                .evp .evp-grid{grid-template-columns:repeat(5, minmax(0, 1fr));}
            }
            @media (max-width:1024px){
                .evp .evp-grid{grid-template-columns:repeat(4, minmax(0, 1fr));}
            }
            @media (max-width:768px){
                .evp .evp-grid{grid-template-columns:repeat(3, minmax(0, 1fr));}
            }
            @media (max-width:860px){
                .evp .evp-shell{grid-template-columns:1fr; gap:18px;}
                .evp-page .evp-wishlist{
                    position:fixed !important;
                    left:12px; right:auto; top:auto;
                    bottom:calc(76px + env(safe-area-inset-bottom));
                    z-index:9990;
                    width:auto; max-width:none; max-height:none;
                    padding:0; border:0 !important; border-radius:0 !important;
                    background:transparent;
                    box-shadow:none;
                    overflow:visible;
                    pointer-events:none;
                }
                .evp-page .evp-wishlist-bubble{
                    appearance:none; -webkit-appearance:none;
                    position:relative;
                    display:inline-flex; align-items:center; justify-content:center;
                    width:54px !important; height:54px !important;
                    min-width:54px !important; min-height:54px !important;
                    max-width:54px !important; max-height:54px !important;
                    margin:0 !important;
                    padding:0 !important;
                    border-radius:50% !important;
                    border:1px solid rgba(227,178,96,.46) !important;
                    background:linear-gradient(180deg, #fff 0%, #FFF6E4 100%) !important;
                    color:#8a5a00 !important;
                    box-shadow:0 12px 30px rgba(24,19,15,.16), inset 0 1px 0 rgba(255,255,255,.84) !important;
                    cursor:pointer;
                    pointer-events:auto;
                    text-transform:none;
                    line-height:1;
                }
                .evp-page .evp-wishlist-bubble:hover,
                .evp-page .evp-wishlist-bubble:focus-visible{
                    border-color:rgba(201,135,85,.72) !important;
                    box-shadow:0 14px 34px rgba(24,19,15,.20), var(--sh-focus) !important;
                    outline:none;
                }
                .evp-page .evp-wishlist-bubble svg{
                    display:block; width:22px; height:22px;
                }
                .evp-page .evp-wishlist-badge{
                    position:absolute; top:-5px; right:-5px;
                    display:inline-flex; align-items:center; justify-content:center;
                    min-width:23px; height:23px; padding:0 6px;
                    border-radius:999px;
                    background:var(--rust);
                    color:#fff;
                    border:2px solid #fff;
                    font-family:var(--f-display);
                    font-size:11px; font-weight:800;
                    font-variant-numeric:tabular-nums;
                    line-height:1;
                    box-shadow:0 6px 14px rgba(140,58,44,.26);
                }
                .evp-page .evp-wishlist-panel{
                    position:absolute; left:-6px;
                    bottom:66px;
                    display:none;
                    width:calc(100vw - 12px);
                    max-width:460px;
                    max-height:min(66vh, 540px);
                    padding:14px;
                    background:var(--surface-strong);
                    border:1px solid var(--paper-edge) !important;
                    border-radius:18px !important;
                    box-shadow:0 22px 70px rgba(24,19,15,.22), inset 0 1px 0 rgba(255,255,255,.72);
                    pointer-events:auto;
                    overflow:hidden;
                }
                .evp-page .evp-wishlist.is-open .evp-wishlist-panel{
                    display:flex;
                }
                .evp-page .evp-wishlist.is-open .evp-wishlist-bubble{
                    background:var(--ink) !important;
                    border-color:var(--ink) !important;
                    color:var(--paper) !important;
                }
                .evp-page .evp-wishlist-head{
                    padding-bottom:12px;
                    gap:9px;
                }
                .evp-page .evp-wishlist-mark{
                    width:32px; height:32px; flex-basis:32px;
                    border-radius:9px;
                }
                .evp-page .evp-wishlist-name{font-size:14px;}
                .evp-page .evp-wishlist-close{
                    appearance:none; -webkit-appearance:none;
                    margin-left:auto;
                    display:inline-flex; align-items:center; justify-content:center;
                    width:32px !important; height:32px !important;
                    min-width:32px !important; min-height:32px !important;
                    padding:0 0 1px !important;
                    border-radius:50% !important;
                    border:1px solid var(--paper-edge) !important;
                    background:var(--paper-soft) !important;
                    color:var(--ink-78) !important;
                    font-size:18px; font-weight:900; line-height:1;
                    box-shadow:none !important;
                    cursor:pointer; text-transform:none;
                }
                .evp-page .evp-wishlist-close:focus-visible{
                    outline:none; box-shadow:var(--sh-focus) !important;
                }
                .evp-page .evp-wishlist-list{
                    flex-direction:column;
                    overflow-x:hidden; overflow-y:auto;
                    max-height:calc(min(66vh, 540px) - 150px);
                    padding:0 2px 0 0;
                }
                .evp-page .evp-wish-item{
                    flex:0 0 auto;
                    min-width:0;
                }
                .evp-page .evp-wishlist-footer{
                    padding-top:10px;
                }
                .evp .evp-aside{
                    position:sticky; top:0; z-index:50;
                    max-height:calc(100dvh - 12px);
                    overflow:hidden; flex-direction:column; flex-wrap:nowrap;
                    padding:12px 14px; gap:0;
                    border-radius:16px !important;
                }
                .evp .evp-aside.is-open{overflow:auto;}
                .evp .evp-aside-brand{
                    flex:0 0 auto; padding-bottom:0; border-bottom:0;
                    justify-content:space-between;
                }
                .evp .evp-aside-name{white-space:normal;}
                .evp .evp-aside-toggle{
                    --btn-height:36px; --btn-padding:0 12px; --btn-brd-radius:999px;
                    appearance:none; -webkit-appearance:none;
                    display:inline-flex; align-items:center; justify-content:center; gap:7px;
                    height:36px !important; min-height:36px !important; max-height:36px !important;
                    padding:0 12px !important;
                    border:1px solid var(--paper-edge) !important;
                    border-radius:999px !important;
                    background:var(--paper-soft) !important;
                    color:var(--ink-78) !important;
                    font-size:12px; font-weight:800; line-height:1;
                    box-shadow:none !important; text-transform:none;
                    cursor:pointer;
                }
                .evp .evp-aside-toggle-icon{
                    color:var(--copper-deep); font-size:14px; line-height:1; transform:translateY(-1px);
                }
                .evp .evp-aside-body{
                    display:none; gap:14px;
                    padding-top:14px; margin-top:12px;
                    border-top:1px solid var(--paper-edge);
                }
                .evp .evp-aside.is-open .evp-aside-body{display:flex;}
                .evp .evp-aside-group{flex:0 0 auto; min-width:0;}
                .evp .evp-aside-list{max-height:220px;}
                .evp .evp-aside-footer{flex:0 0 auto; flex-direction:row; align-items:center; padding-top:12px;}
                .evp .evp-aside-footer .evp-btn{flex:1 1 auto;}
                .evp .evp-aside-meta{flex:1 1 auto; text-align:right;}
                .evp .evp-grid{grid-template-columns:repeat(3, minmax(0, 1fr));}
                .evp .evp-main-bar{align-items:stretch;}
                .evp .evp-level-group{
                    width:100%; justify-content:flex-start;
                    overflow-x:auto; -webkit-overflow-scrolling:touch;
                    padding:0 2px 2px;
                    margin:0;
                }
                .evp .evp-main-search{flex:1 1 200px;}
                .evp-page .evp-wishlist{padding:0;}
            }
            @media (max-width:680px){
                .evp-page{
                    margin-bottom:-40px !important;
                    padding-left:0; padding-right:0;
                }
                .evp{padding:20px; border-radius:0;}
                .evp .evp-aside-group{flex:1 1 100%;}
                .evp .evp-aside-meta{text-align:center;}
                .evp .evp-main-bar{
                    flex-direction:column;
                    gap:10px;
                    padding-bottom:12px;
                }
                .evp .evp-tabs{width:100%; gap:16px; overflow-x:auto; flex-wrap:nowrap; -webkit-overflow-scrolling:touch;}
                .evp .evp-tab{white-space:nowrap;}
                .evp .evp-level-group{gap:8px;}
                .evp .evp-level-divider{display:none;}
                .evp .evp-level-pill{
                    flex:0 0 auto;
                    height:32px !important; min-height:32px !important; max-height:32px !important;
                    padding:0 12px !important;
                    font-size:12px;
                }
                .evp .evp-main-search{
                    width:100%; min-width:0; flex:none;
                    margin-bottom:0;
                }
                .evp .evp-status-row{
                    align-items:center; flex-wrap:nowrap; gap:10px;
                    margin-top:14px;
                }
                .evp-status{flex:1 1 auto; min-width:0;}
                .evp-status-updated{font-size:12px; flex-wrap:wrap;}
                .evp .evp-sort{width:auto; margin-left:auto; flex:0 0 auto;}
                .evp .evp-sort-label{display:none;}
                .evp .evp-sort-select{min-width:132px; max-width:46vw;}
                .evp .evp-grid{grid-template-columns:repeat(2, minmax(0, 1fr));}
                .evp .evp-plate{font-size:22px;}
            }
            @media (max-width:480px){
                .evp{padding:20px;}
                .evp .evp-headline{font-size:28px;}
                .evp .evp-aside{padding:12px 14px;}
                .evp .evp-grid{grid-template-columns:repeat(2, minmax(0, 1fr)); gap:10px;}
                .evp .evp-card{padding:13px 12px 15px;}
                .evp .evp-chip{font-size:9.5px; padding:5px 8px 4px;}
                .evp .evp-status-pill{font-size:9px; padding:5px 8px 4px;}
                .evp .evp-station{font-size:11.5px;}
                .evp .evp-plate{font-size:20px;}
                .evp .evp-card-tail{gap:5px;}
                .evp .evp-price{gap:3px;}
                .evp .evp-price-num{font-size:14.5px;}
                .evp .evp-price-unit{font-size:9.5px;}
                .evp .evp-fortune{max-width:35%;}
                .evp .evp-fortune-score{height:20px; padding:0 6px; font-size:9.5px;}
                .evp .evp-fortune-kicker{display:none;}
                .evp .evp-pager{gap:4px;}
                .evp .evp-pager .evp-btn{
                    --btn-height:36px; --btn-padding:0 12px; --btn-brd-radius:10px;
                    padding:0 12px !important; font-size:11.5px;
                    height:36px !important; min-height:36px !important; max-height:36px !important;
                    border-radius:10px !important;
                }
                .evp .evp-page-btn{
                    --btn-height:32px; --btn-brd-radius:10px;
                    width:32px !important; min-width:32px !important; max-width:32px !important;
                    height:32px !important; min-height:32px !important; max-height:32px !important;
                    font-size:12px; border-radius:10px !important;
                }
                .evp .evp-page-ellipsis{height:32px; min-width:20px;}
                .evp-fortune-tooltip{
                    width:auto; height:auto; max-height:calc(100dvh - 144px - env(safe-area-inset-top) - env(safe-area-inset-bottom));
                    padding:13px 13px calc(18px + env(safe-area-inset-bottom));
                    overflow-y:auto;
                    overscroll-behavior:contain;
                    -webkit-overflow-scrolling:touch;
                }
                .evp-fortune-report section{padding:8px 9px;}
                .evp-fortune-report p{font-size:11.5px;}
            }

            /* ---------- A11y --------------------------------------------------- */
            @media (prefers-reduced-motion: reduce){
                .evp *,.evp *::before,.evp *::after{
                    animation-duration:.001ms !important; transition-duration:.001ms !important;
                }
            }
            @media (prefers-color-scheme: dark){
                /* Plugin intentionally stays in light editorial mode regardless of OS pref. */
            }
