/* =====================================================================
   愛慾島　VIP 模式（20261108.11）
   body.patron 開著的時候，整支手機換成黑金：靈動島金邊、狀態列、鎖定畫面、主畫面小工具、Dock、按鈕。
   VIP 俱樂部 App、黑卡、入口、桌布選擇都在這裡。
   ===================================================================== */
:root{--pg:#f3cf8e;--pg2:#e3bd6a;--pg3:#b48a4a;--pgd:#3a2a0c;--pgk:#2a1a05}

/* ---------- 黑VIP 題 ---------- */
@media (min-width:520px) and (min-height:760px){
  body.patron .phone{box-shadow:0 0 0 10px #1a1408,0 0 0 11px #c9a24a,0 40px 120px rgba(0,0,0,.85),0 0 160px rgba(243,207,142,.14)}
}
body.patron .sbar{color:var(--pg)}
body.patron .island{box-shadow:0 0 0 1px rgba(243,207,142,.85),0 0 16px rgba(243,207,142,.28);background:linear-gradient(180deg,#120e06,#000)}
body.patron .island b{color:var(--pg)}
body.patron .island.hot b{background:linear-gradient(90deg,#fff1c9,#e3bd6a,#fff1c9);background-size:200%;-webkit-background-clip:text;background-clip:text;color:transparent}
body.patron .wid{box-shadow:inset 0 0 0 1px rgba(243,207,142,.42),0 10px 30px rgba(0,0,0,.35)}
body.patron .dock{box-shadow:inset 0 0 0 1px rgba(243,207,142,.55);background:rgba(20,15,8,.62)}
body.patron .hdots button.on{background:var(--pg)}
body.patron .btn.main{background:linear-gradient(135deg,#f6dfa4,#c9a24a);color:var(--pgk);box-shadow:0 8px 24px rgba(243,207,142,.25)}
body.patron .mtabs button.on{background:rgba(243,207,142,.18);box-shadow:inset 0 0 0 1px rgba(243,207,142,.55)}
body.patron .field:focus{box-shadow:inset 0 0 0 1.5px var(--pg)}
body.patron .dayc .coin{color:var(--pg)}
body.patron .t2logo h1{background:linear-gradient(120deg,#fff,var(--pg) 55%,#c9a24a);-webkit-background-clip:text;background-clip:text;color:transparent}
body.patron .topbtns button,body.patron .rtbtns button{color:var(--pg)}

/* 鎖定畫面那一行 */
.lock .lk .patl{display:inline-flex;align-items:center;gap:6px;margin:0 0 10px;padding:5px 14px;border-radius:20px;font-size:12.5px;letter-spacing:.16em;color:var(--pg);background:rgba(0,0,0,.42);box-shadow:inset 0 0 0 1px rgba(243,207,142,.55);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}

/* 天數卡、富豪榜的小標 */
.patbadge,.pattag{display:inline-block;margin-left:6px;padding:1px 7px;border-radius:9px;font-size:10px;font-style:normal;font-weight:700;letter-spacing:.08em;vertical-align:1px;color:var(--pgk);background:linear-gradient(135deg,#fff1c9,#d9b25c)}
.rkrow.me .pattag{margin-left:6px}

/* 開始畫面的入口 */
.t2links #t-pat.paton{color:var(--pg)}

/* 主畫面第一頁的VIP 橫條 */
.patstrip{display:flex;align-items:center;gap:10px;width:100%;margin:0 0 12px;padding:9px 12px 9px 10px;border-radius:18px;text-align:left;
  background:linear-gradient(135deg,rgba(243,207,142,.22),rgba(20,14,6,.72));box-shadow:inset 0 0 0 1px rgba(243,207,142,.55),0 8px 24px rgba(0,0,0,.35);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);position:relative;overflow:hidden}
.patstrip:before{content:"";position:absolute;inset:-40% -60%;background:linear-gradient(115deg,transparent 42%,rgba(255,241,201,.22) 50%,transparent 58%);transform:translateX(-60%);animation:patsheen 5.5s ease-in-out infinite}
@keyframes patsheen{0%,60%{transform:translateX(-60%)}100%{transform:translateX(60%)}}
.patstrip i{font-style:normal;width:34px;height:34px;border-radius:11px;display:grid;place-items:center;font-size:17px;color:var(--pgk);background:linear-gradient(160deg,#fff1c9,#d9b25c 60%,#8a6420);flex:none;box-shadow:0 2px 8px rgba(0,0,0,.4)}
.patstrip div{flex:1;min-width:0;line-height:1.25}
.patstrip b{display:block;font-size:14px;color:#fff5dc;letter-spacing:.04em}
.patstrip small{display:block;font-size:11px;color:rgba(255,236,196,.72);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.patstrip em{font-style:normal;color:var(--pg);font-size:18px}
.home.v2 .pg.fit2 .patstrip,.home.v2 .pg.fit3 .patstrip{padding:6px 10px 6px 8px}
.home.v2 .pg.fit3 .patstrip small,.home.v2 .pg.fit4 .patstrip small{display:none}
.home.v2 .pg.fit5 .patstrip{display:none}

/* ---------- VIP 卡 ---------- */
.patcard{position:relative;display:block;width:100%;aspect-ratio:1.62;border-radius:18px;padding:16px 18px;text-align:left;overflow:hidden;color:var(--pg);
  background:radial-gradient(120% 90% at 10% 0%,#2b2110 0%,#0b0906 48%,#000 100%);box-shadow:inset 0 0 0 1px rgba(243,207,142,.55),inset 0 0 0 2px rgba(0,0,0,.6),0 18px 40px rgba(0,0,0,.6);margin:6px 0 14px;transform-style:preserve-3d}
.patcard.big{margin:4px 0 16px}
.patcard .pc-top{display:flex;justify-content:space-between;align-items:center}
.patcard .pc-logo{font-family:var(--serif);font-size:13px;letter-spacing:.3em;color:rgba(243,207,142,.85)}
.patcard .pc-chip{width:34px;height:26px;border-radius:6px;background:linear-gradient(135deg,#fff1c9,#c9a24a 55%,#8a6420);box-shadow:inset 0 0 0 1px rgba(0,0,0,.35);position:relative}
.patcard .pc-chip:after{content:"";position:absolute;inset:6px 8px;border:1px solid rgba(42,26,5,.55);border-radius:3px}
.patcard .pc-no{margin-top:12%;font-size:12px;letter-spacing:.26em;color:rgba(243,207,142,.7);font-variant-numeric:tabular-nums}
.patcard .pc-name{margin-top:4px;font-family:var(--serif);font-size:24px;font-weight:700;letter-spacing:.12em;color:#fff3d6;text-shadow:0 1px 0 rgba(0,0,0,.6)}
.patcard .pc-foot{position:absolute;left:18px;right:18px;bottom:14px;display:flex;justify-content:space-between;font-size:11.5px;letter-spacing:.14em;color:rgba(243,207,142,.8)}
.patcard .pc-foot em{font-style:normal;color:#fff1c9}
.patcard .pc-shine{position:absolute;inset:-60% -40%;background:linear-gradient(112deg,transparent 44%,rgba(255,241,201,.16) 50%,transparent 56%);transform:translateX(-70%);pointer-events:none;animation:patsheen 7s ease-in-out infinite}
.patcard.flip{animation:patflip .9s ease-in-out}
@keyframes patflip{0%{transform:rotateY(0)}50%{transform:rotateY(180deg)}100%{transform:rotateY(360deg)}}
.ringv .patcard{margin-bottom:10px}

/* ---------- 入口 ---------- */
.pat-ask{text-align:center}
.pat-ask .pat-key{width:64px;height:64px;margin:4px auto 10px;border-radius:50%;display:grid;place-items:center;font-size:28px;background:radial-gradient(circle at 50% 35%,#2b2110,#000);box-shadow:inset 0 0 0 1px rgba(243,207,142,.6),0 0 30px rgba(243,207,142,.18)}
.pat-ask .pat-key.on{color:var(--pg);font-size:30px}
.pat-ask h3{margin:0 0 4px}
.pat-ask .field{margin:12px 0 10px;text-align:center;letter-spacing:.3em;font-size:22px;font-variant-numeric:tabular-nums}
.pat-ask .pat-fine{font-size:11.5px;color:var(--ink3);margin:12px 0 0;line-height:1.7}

/* ---------- VIP 卡遞到手上 ---------- */
.pat-reveal{position:absolute;inset:0;z-index:90;display:grid;place-items:center;padding:24px;background:radial-gradient(120% 80% at 50% 30%,rgba(60,45,16,.96),rgba(0,0,0,.98));animation:patfade .5s ease-out}
.pat-reveal.out{animation:patfade .3s ease-in reverse forwards}
@keyframes patfade{from{opacity:0}to{opacity:1}}
.pat-reveal .pr-in{width:100%;max-width:340px;text-align:center}
.pat-reveal small{display:block;letter-spacing:.34em;font-size:11px;color:rgba(243,207,142,.75);margin-bottom:14px}
.pat-reveal .patcard{animation:patdrop .9s cubic-bezier(.2,.9,.2,1.1) both;transform-origin:50% 100%}
@keyframes patdrop{0%{transform:translateY(-40px) rotateX(35deg) scale(.9);opacity:0}100%{transform:none;opacity:1}}
.pat-reveal h2{font-family:var(--serif);font-size:28px;margin:10px 0 4px;color:#fff3d6;letter-spacing:.1em}
.pat-reveal p{color:var(--ink2);margin:0 0 18px;font-size:14.5px}

/* ---------- VIP 俱樂部 App（20261108.13 改版：VIP 沙龍） ---------- */
.view.patronv{background:radial-gradient(120% 60% at 50% -10%,rgba(243,207,142,.16),transparent 60%),radial-gradient(80% 50% at 100% 100%,rgba(140,100,32,.14),transparent 70%),#0a0806}
.view.patronv .vhead{box-shadow:0 1px 0 rgba(243,207,142,.22)}
.view.patronv .vhead h2{color:#fff3d6}
.view.patronv .vhead .sub{color:rgba(243,207,142,.7)}
.patv{padding-bottom:8px}
.pv-body{animation:pvin .35s ease-out}
@keyframes pvin{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
/* 頂部：VIP 徽章 */
.pv-hero{position:relative;overflow:hidden;margin:2px 0 12px;padding:20px 16px 14px;border-radius:24px;text-align:center;
  background:radial-gradient(120% 90% at 50% 0%,#3a2a0e 0%,#120d06 55%,#050403 100%);
  box-shadow:inset 0 0 0 1px rgba(243,207,142,.55),inset 0 0 0 5px rgba(0,0,0,.4),inset 0 0 0 6px rgba(243,207,142,.18),0 14px 34px rgba(0,0,0,.5)}
.pv-glow{position:absolute;left:50%;top:-40%;width:120%;aspect-ratio:1;transform:translateX(-50%);background:radial-gradient(closest-side,rgba(255,226,160,.28),transparent);pointer-events:none}
.pv-rays{position:absolute;inset:-50%;background:conic-gradient(from 0deg,transparent 0 8%,rgba(255,236,190,.06) 10%,transparent 12% 33%,rgba(255,236,190,.05) 35%,transparent 37% 58%,rgba(255,236,190,.06) 60%,transparent 62% 83%,rgba(255,236,190,.05) 85%,transparent 87%);animation:pvspin 40s linear infinite;pointer-events:none}
@keyframes pvspin{to{transform:rotate(360deg)}}
.pv-crest{position:relative;width:54px;height:54px;margin:0 auto 8px;border-radius:50%;display:grid;place-items:center;font-size:24px;color:#2a1a05;
  background:radial-gradient(circle at 35% 30%,#fff6dc,#e3bd6a 55%,#8a6420);box-shadow:0 0 0 2px rgba(0,0,0,.5),0 0 0 3px rgba(243,207,142,.6),0 0 24px rgba(243,207,142,.45)}
.pv-hero small{position:relative;display:block;font-size:10.5px;letter-spacing:.24em;color:rgba(243,207,142,.78)}
.pv-hero h3{position:relative;margin:4px 0 12px;font-family:var(--serif);font-size:26px;letter-spacing:.14em;background:linear-gradient(180deg,#fff7e0,#f3cf8e 55%,#b8862f);-webkit-background-clip:text;background-clip:text;color:transparent}
.pv-stats{position:relative;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(243,207,142,.22);padding-top:10px}
.pv-stats div{display:grid;gap:1px}
.pv-stats div+div{border-left:1px solid rgba(243,207,142,.16)}
.pv-stats b{font-size:16px;color:#fff1c9;font-variant-numeric:tabular-nums}
.pv-stats span{font-size:10.5px;color:rgba(255,236,196,.6)}
/* 分頁 */
.pv-tabs{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;margin:0 -2px 14px;padding:2px}
.pv-tabs::-webkit-scrollbar{display:none}
.pv-tabs button{flex:none;display:inline-flex;align-items:center;gap:5px;height:34px;padding:0 13px;border-radius:17px;font-size:13px;color:rgba(255,236,196,.78);background:rgba(243,207,142,.06);box-shadow:inset 0 0 0 1px rgba(243,207,142,.22);white-space:nowrap;transition:background .2s}
.pv-tabs button i{font-style:normal;font-size:13px}
.pv-tabs button.on{color:#2a1a05;font-weight:700;background:linear-gradient(135deg,#fff1c9,#e3bd6a 55%,#b8862f);box-shadow:0 4px 14px rgba(243,207,142,.3)}
/* 分區標題 */
.pv-sec{display:flex;align-items:center;gap:8px;margin:18px 2px 10px}
.pv-sec>i{flex:1;height:1px;background:linear-gradient(90deg,transparent,rgba(243,207,142,.45))}
.pv-sec>i:last-of-type{background:linear-gradient(90deg,rgba(243,207,142,.45),transparent)}
.pv-sec span{font-family:var(--serif);font-size:13px;letter-spacing:.28em;color:#f3cf8e;white-space:nowrap}
.pv-sec span:before,.pv-sec span:after{content:"◆";font-size:7px;vertical-align:2px;margin:0 7px;color:rgba(243,207,142,.6)}
.pv-sec em{font-style:normal;font-size:10.5px;color:var(--ink3);white-space:nowrap}
/* 特權勳章 */
.pv-medals{display:grid;grid-template-columns:repeat(4,1fr);gap:12px 4px}
.pm{display:grid;justify-items:center;gap:3px;text-align:center}
.pm i{font-style:normal;width:48px;height:48px;border-radius:50%;display:grid;place-items:center;font-size:20px;background:radial-gradient(circle at 35% 30%,#3a2a0e,#0b0906 70%);box-shadow:inset 0 0 0 1.5px rgba(243,207,142,.65),0 0 0 3px rgba(0,0,0,.4),0 6px 16px rgba(0,0,0,.4)}
.pm b{font-size:12.5px;color:#fff1c9;font-variant-numeric:tabular-nums}
.pm span{font-size:10.5px;color:rgba(255,236,196,.6)}
.pv-acts{margin-top:16px}
.pv-plaque{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px 14px;margin-bottom:8px;border-radius:14px;background:linear-gradient(135deg,rgba(243,207,142,.12),rgba(0,0,0,.2));box-shadow:inset 0 0 0 1px rgba(243,207,142,.35)}
.pv-plaque b{font-family:var(--serif);color:#f3cf8e;letter-spacing:.08em;white-space:nowrap}
.pv-plaque span{font-size:12.5px;color:var(--ink2);text-align:right}
/* 永夜之冕 */
.pv-ringshow{position:relative;overflow:hidden;text-align:center;padding:18px 16px 16px;border-radius:24px;background:radial-gradient(90% 70% at 50% 18%,#2e2210 0%,#0b0906 60%,#030202 100%);box-shadow:inset 0 0 0 1px rgba(243,207,142,.5),0 14px 34px rgba(0,0,0,.5)}
.pv-spot{position:absolute;left:50%;top:-30%;width:70%;height:110%;transform:translateX(-50%);background:linear-gradient(180deg,rgba(255,240,200,.18),transparent 75%);clip-path:polygon(40% 0,60% 0,100% 100%,0 100%);pointer-events:none}
.pv-halo{position:absolute;left:50%;top:104px;width:220px;height:220px;margin:-110px 0 0 -110px;border-radius:50%;background:conic-gradient(from 0deg,rgba(243,207,142,0),rgba(243,207,142,.32),rgba(243,207,142,0) 30%,rgba(243,207,142,.24) 55%,rgba(243,207,142,0) 75%);filter:blur(10px);animation:pvspin 12s linear infinite;pointer-events:none}
.pv-ringsvg,.pv-ringimg{position:relative;width:170px;height:170px;margin:0 auto 6px;animation:pvfloat 4s ease-in-out infinite}
.pv-ringimg .pimg{width:100%;height:100%;border-radius:50%;overflow:hidden;box-shadow:0 0 0 1px rgba(243,207,142,.5),0 10px 30px rgba(0,0,0,.6)}
.pv-ringimg img{width:100%;height:100%;object-fit:cover}
.pv-ringsvg svg{width:100%;height:100%;filter:drop-shadow(0 10px 18px rgba(0,0,0,.6)) drop-shadow(0 0 14px rgba(243,207,142,.35))}
.pv-ringsvg .vvsp{animation:vvtw 2.4s ease-in-out infinite}
@keyframes pvfloat{50%{transform:translateY(-6px)}}
@keyframes vvtw{0%,100%{opacity:.25}50%{opacity:1}}
.pv-ringshow small{position:relative;display:block;font-size:10.5px;letter-spacing:.3em;color:rgba(243,207,142,.75)}
.pv-ringshow h3{position:relative;margin:2px 0 4px;font-family:var(--serif);font-size:28px;letter-spacing:.2em;background:linear-gradient(180deg,#fff7e0,#f3cf8e 55%,#b8862f);-webkit-background-clip:text;background-clip:text;color:transparent}
.pv-ringshow p{position:relative;margin:0 0 10px;font-size:13px;color:var(--ink2)}
.pv-own{position:relative;display:inline-block;padding:4px 14px;border-radius:14px;font-size:12px;color:#fff1c9;background:rgba(0,0,0,.4);box-shadow:inset 0 0 0 1px rgba(243,207,142,.45)}
.pv-own b{color:#f3cf8e;font-size:14px}
.pv-rperks{margin:12px 0;border-radius:18px;overflow:hidden;box-shadow:inset 0 0 0 1px rgba(243,207,142,.25);background:rgba(243,207,142,.04)}
.pv-rperks>div{display:flex;gap:12px;align-items:flex-start;padding:11px 14px}
.pv-rperks>div+div{border-top:1px solid rgba(243,207,142,.12)}
.pv-rperks i{font-style:normal;font-size:18px;width:24px;text-align:center;flex:none}
.pv-rperks span{font-size:12.5px;color:var(--ink2);line-height:1.5}
.pv-rperks b{display:block;font-size:14px;color:#fff1c9}
.pv-order{min-height:46px}
.pv-cands{display:grid;gap:8px}
.pvc{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:14px;background:var(--card);box-shadow:inset 0 0 0 1px var(--line)}
.pvc>div{flex:1;min-width:0}
.pvc b{display:block;font-size:14px}
.pvc small{font-size:11.5px;color:var(--ink3)}
.pvc .btn{width:auto;min-height:34px;padding:4px 12px;font-size:12.5px;border-radius:11px}
.pv-vvs{display:flex;gap:12px;flex-wrap:wrap}
.pvv{display:grid;justify-items:center;gap:3px;width:72px;text-align:center}
.pvv .av{box-shadow:0 0 0 2px #f3cf8e,0 0 16px rgba(243,207,142,.45);border-radius:50%}
.pvv b{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.pvv small{font-size:10px;color:#f3cf8e}
/* 專屬地點 */
.patv .pat-lead{margin:0 0 12px;font-size:13px;line-height:1.75}
.patv .pat-note{font-size:12px;text-align:center;margin-top:14px}
.pat-places{display:grid;gap:14px}
.pplace{position:relative;display:block;width:100%;text-align:left;border-radius:22px;overflow:hidden;aspect-ratio:1.5;background:#0d0a12;box-shadow:0 14px 30px rgba(0,0,0,.45)}
.pplace>.pimg{position:absolute;inset:0}
.pplace>.pimg img{width:100%;height:100%;object-fit:cover}
.pp-frame{position:absolute;inset:7px;border-radius:16px;box-shadow:inset 0 0 0 1px rgba(243,207,142,.6);pointer-events:none;z-index:2}
.pp-stamp{position:absolute;right:16px;top:14px;z-index:3;font-style:normal;font-size:10px;font-weight:900;letter-spacing:.2em;padding:3px 8px 3px 10px;border-radius:6px;color:#2a1a05;background:linear-gradient(135deg,#fff1c9,#e3bd6a 55%,#b8862f);box-shadow:0 4px 12px rgba(0,0,0,.4)}
.pplace .ppi{position:absolute;inset:auto 0 0 0;z-index:1;padding:46px 18px 16px;background:linear-gradient(180deg,transparent,rgba(5,4,2,.92));display:grid;gap:3px}
.pplace .ppi small{font-size:10.5px;letter-spacing:.22em;color:#f3cf8e}
.pplace .ppi b{font-size:18px;font-family:var(--serif);color:#fff;letter-spacing:.04em}
.pplace .ppi span{font-size:12.5px;color:rgba(255,255,255,.78);line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.pplace .ppi em{font-style:normal;font-size:12px;color:#f3cf8e;margin-top:3px}
.pat-back{display:inline-flex;align-items:center;min-height:32px;padding:0 10px 0 4px;border-radius:10px;font-size:13.5px;color:var(--pg);margin-bottom:8px}
.pat-hero{position:relative;border-radius:22px;overflow:hidden;aspect-ratio:1.45;margin-bottom:12px;box-shadow:0 14px 30px rgba(0,0,0,.5)}
.pat-hero>.pimg{position:absolute;inset:0}
.pat-hero>.pimg img{width:100%;height:100%;object-fit:cover}
.pat-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(5,4,2,.88))}
.pat-hero .phi{position:absolute;left:18px;right:18px;bottom:16px;z-index:3;display:grid;gap:2px}
.pat-hero .phi small{font-size:10.5px;letter-spacing:.24em;color:#f3cf8e}
.pat-hero .phi b{font-family:var(--serif);font-size:21px;color:#fff;text-shadow:0 2px 8px rgba(0,0,0,.6)}
.pat-line{margin:0 0 10px}
.pat-evs{display:grid;gap:10px;margin-top:4px}
.pev{display:flex;align-items:center;gap:12px;width:100%;text-align:left;padding:13px 14px;border-radius:18px;background:linear-gradient(135deg,rgba(243,207,142,.08),rgba(0,0,0,.25));box-shadow:inset 0 0 0 1px rgba(243,207,142,.3)}
.pev:not(.off):active{transform:scale(.985)}
.pev.off{opacity:.45}
.pevn{width:40px;height:40px;border-radius:50%;flex:none;display:grid;place-items:center;font-family:var(--serif);font-size:16px;color:#2a1a05;background:radial-gradient(circle at 35% 30%,#fff6dc,#e3bd6a 55%,#8a6420);box-shadow:0 0 0 2px rgba(0,0,0,.4),0 0 0 3px rgba(243,207,142,.4)}
.pevt{flex:1;min-width:0;display:grid;gap:3px}
.pevt b{font-size:15.5px;font-family:var(--serif);color:#fff3d6}
.pevt small{font-size:12px;color:var(--ink2)}
.pevk{display:flex;gap:6px;flex-wrap:wrap}
.pevk span{font-size:10.5px;padding:1px 8px;border-radius:9px;color:#f3cf8e;background:rgba(243,207,142,.1);box-shadow:inset 0 0 0 1px rgba(243,207,142,.3)}
.pevk span.new{color:#2a1a05;background:#f3cf8e;font-weight:700}
.pevt .pevb{color:#ff9fb5}
.pev em{font-style:normal;font-size:12px;font-weight:700;color:#2a1a05;padding:6px 12px;border-radius:11px;background:linear-gradient(135deg,#fff1c9,#e3bd6a 55%,#b8862f);white-space:nowrap}
/* 限定道具：珠寶盒 */
.pat-toys{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.ptoy{display:flex;flex-direction:column;border-radius:18px;overflow:hidden;background:linear-gradient(180deg,#1a130a,#0a0806);box-shadow:inset 0 0 0 1px rgba(243,207,142,.28)}
.ptoy.on{box-shadow:inset 0 0 0 1.5px #f3cf8e,0 0 20px rgba(243,207,142,.2)}
.pt-box{position:relative;aspect-ratio:1;overflow:hidden}
.pt-box .pimg{width:100%;height:100%}
.pt-box .pimg img{width:100%;height:100%;object-fit:cover}
.pt-box .pimg.emo{font-size:46px;background:radial-gradient(circle at 50% 40%,#3a2a0c,#0d0a12)}
.pt-spot{position:absolute;inset:0;background:radial-gradient(70% 55% at 50% 30%,transparent,rgba(0,0,0,.45));pointer-events:none}
.pt-tag{position:absolute;left:8px;top:8px;font-style:normal;font-size:10.5px;font-weight:700;padding:2px 8px;border-radius:8px;color:#2a1a05;background:#f3cf8e}
.ptoy .pti{padding:10px 11px 11px;display:grid;gap:5px;flex:1;align-content:start}
.ptoy .pti b{font-size:14px;color:#fff3d6;font-family:var(--serif)}
.ptoy .pti small{font-size:11.5px;color:var(--ink2);line-height:1.5}
.ptoy .pti .btn{min-height:32px;padding:4px 10px;font-size:12.5px;border-radius:10px;margin-top:2px;align-self:end}
/* 桌布 */
.pat-walls{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.pwall{display:grid;gap:5px;text-align:center;font-size:12px}
.pwall .pw-ph{aspect-ratio:9/16;border-radius:14px;overflow:hidden;background:#0d0a12;box-shadow:inset 0 0 0 1px var(--line);position:relative}
.pwall .pw-ph .pimg{position:absolute;inset:0}
.pwall .pw-ph img{width:100%;height:100%;object-fit:cover}
.pwall.on .pw-ph{box-shadow:inset 0 0 0 2px var(--pg),0 0 18px rgba(243,207,142,.25)}
.pwall b{font-weight:500;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pwall small{font-size:10px;color:var(--ink3);margin-top:-3px}
.pwall .pw-none{position:absolute;inset:0;display:grid;align-content:end;gap:3px;padding:10px 8px;background:linear-gradient(160deg,#2b2110,#0b0906 60%,#000);text-align:left}
.pwall .pw-none span{font-size:11.5px;color:var(--pg);line-height:1.3}
.pwall .pw-none small{font-size:9.5px;color:rgba(255,255,255,.5);line-height:1.3;margin:0}
/* 島主的抽屜 */
.pat-drawer{display:grid;gap:8px}
.pdr{border-radius:16px;padding:0 14px;background:linear-gradient(160deg,rgba(243,207,142,.07),rgba(0,0,0,.2));box-shadow:inset 0 0 0 1px rgba(243,207,142,.22)}
.pdr summary{list-style:none;cursor:pointer;padding:13px 0;font-family:var(--serif);font-size:15px;color:#fff3d6;display:flex;align-items:center;gap:10px}
.pdr summary::-webkit-details-marker{display:none}
.pdr summary i{font-style:normal;font-size:11px;letter-spacing:.1em;color:#2a1a05;background:#e3bd6a;border-radius:6px;padding:1px 6px;font-family:var(--sans)}
.pdr summary:after{content:"＋";margin-left:auto;color:var(--pg);font-size:14px}
.pdr[open] summary:after{content:"－"}
.pdr p{margin:0 0 12px;font-size:14px;line-height:1.9;color:var(--ink2)}

/* 開場介紹列表（20261108.12） */
.pat-reveal{overflow-y:auto;align-items:start;padding:calc(48px + var(--sat)) 20px calc(28px + var(--sab))}
.pat-reveal .pr-in{margin:auto}
.pat-reveal .patcard.big{margin-bottom:10px}
.pat-reveal h2{margin-top:6px}
.pat-reveal p{margin-bottom:14px}
.pr-list{text-align:left;background:rgba(0,0,0,.38);border-radius:18px;padding:12px 14px 6px;margin:0 0 16px;box-shadow:inset 0 0 0 1px rgba(243,207,142,.35)}
.pr-list>b{display:block;font-size:13px;letter-spacing:.16em;color:var(--pg)}
.pr-list>small{display:block;font-size:11px;letter-spacing:0;color:var(--ink3);margin:2px 0 8px}
.pr-list ul{list-style:none;margin:0;padding:0;display:grid}
.pr-list li{display:flex;align-items:flex-start;gap:10px;padding:7px 0;border-top:1px solid rgba(243,207,142,.12);opacity:0;animation:prli .4s ease-out forwards}
.pr-list li:first-child{border-top:0}
.pr-list li i{font-style:normal;font-size:16px;width:22px;text-align:center;flex:none;line-height:1.4}
.pr-list li span{font-size:12.5px;color:var(--ink2);line-height:1.45}
.pr-list li em{font-style:normal;display:block;font-size:14px;font-weight:700;color:#fff3d6}
.pr-list li:nth-child(1){animation-delay:.5s}.pr-list li:nth-child(2){animation-delay:.58s}.pr-list li:nth-child(3){animation-delay:.66s}.pr-list li:nth-child(4){animation-delay:.74s}.pr-list li:nth-child(5){animation-delay:.82s}.pr-list li:nth-child(6){animation-delay:.9s}.pr-list li:nth-child(7){animation-delay:.98s}.pr-list li:nth-child(8){animation-delay:1.06s}.pr-list li:nth-child(9){animation-delay:1.14s}
@keyframes prli{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.pr-list li{animation:none;opacity:1}}

/* ---------- 主畫面天數卡・VIP 版（20261108.12） ---------- */
body.patron .home .wid.dayc{
  --dca:#f6d68f;--dcg:rgba(243,207,142,.42);--dcl:rgba(243,207,142,.6);
  padding-top:40px;border-radius:26px;
  background:
    radial-gradient(120% 70% at 100% 0%,rgba(243,207,142,.20),transparent 60%),
    linear-gradient(160deg,var(--dc1),rgba(18,13,6,.9) 55%,rgba(6,4,2,.94));
  box-shadow:inset 0 0 0 1px rgba(243,207,142,.75),inset 0 0 0 4px rgba(0,0,0,.35),inset 0 0 0 5px rgba(243,207,142,.22),0 16px 40px rgba(0,0,0,.5),0 0 40px rgba(243,207,142,.12)}
body.patron .dayc.ph-am{--dc1:rgba(70,48,18,.82)}
body.patron .dayc.ph-pm{--dc1:rgba(80,40,30,.82)}
body.patron .dayc.ph-night,body.patron .dayc.ph-late{--dc1:rgba(30,24,40,.86)}
body.patron .dayc:before{background:radial-gradient(closest-side,rgba(255,226,160,.34),transparent);opacity:1}

/* 頂端緞帶 */
.dcp-rib{position:absolute!important;left:0;right:0;top:0;height:30px;display:flex;align-items:center;gap:8px;padding:0 16px;
  background:linear-gradient(90deg,#8a6420 0%,#e9c77a 18%,#fff1c9 50%,#e9c77a 82%,#8a6420 100%);color:#2a1a05;box-shadow:0 2px 10px rgba(0,0,0,.45);z-index:2}
.dcp-rib:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;background:rgba(42,26,5,.5)}
.dcp-rib .dcp-cr{font-size:15px;line-height:1;filter:drop-shadow(0 1px 0 rgba(255,255,255,.5))}
.dcp-rib b{font-family:var(--serif);font-size:12px;letter-spacing:.42em;font-weight:900}
.dcp-rib em{font-style:normal;margin-left:auto;font-size:10.5px;letter-spacing:.2em;font-weight:700;opacity:.78;font-variant-numeric:tabular-nums}
.dcp-rib .dcp-gem{width:8px;height:8px;transform:rotate(45deg);background:#2a1a05;box-shadow:0 0 0 2px rgba(255,241,201,.8);margin-left:2px}
/* 四角金色花邊 */
.dcp-orn{position:absolute!important;width:22px;height:22px;pointer-events:none;border:1.5px solid rgba(243,207,142,.85);z-index:1}
.dcp-orn.tl{left:9px;top:38px;border-right:0;border-bottom:0;border-top-left-radius:8px}
.dcp-orn.tr{right:9px;top:38px;border-left:0;border-bottom:0;border-top-right-radius:8px}
.dcp-orn:after{content:"";position:absolute;width:4px;height:4px;transform:rotate(45deg);background:#f3cf8e}
.dcp-orn.tl:after{left:4px;top:4px}.dcp-orn.tr:after{right:4px;top:4px}
/* 緩慢掃過的金光 */
.dcp-shine{position:absolute!important;inset:-40% -60%;pointer-events:none;z-index:0;background:linear-gradient(112deg,transparent 45%,rgba(255,241,201,.10) 50%,transparent 55%);animation:patsheen 8s ease-in-out infinite}

/* 第幾天：燙金字 */
body.patron .dc-day b{color:#fff3d6;text-shadow:0 1px 0 rgba(0,0,0,.6)}
body.patron .dc-day .dn{background:linear-gradient(180deg,#fff6dc 0%,#f3cf8e 45%,#b8862f 100%);-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:none;filter:drop-shadow(0 0 10px rgba(243,207,142,.45));font-size:33px}
body.patron .dc-day small{color:rgba(255,236,196,.72)}
/* 愛幣：實心金牌 */
body.patron .dayc .coin{display:flex;align-items:center;gap:6px;color:#2a1a05;background:linear-gradient(135deg,#fff1c9,#e3bd6a 55%,#b8862f);box-shadow:0 4px 14px rgba(243,207,142,.35),inset 0 1px 0 rgba(255,255,255,.6);font-variant-numeric:tabular-nums}
.dayc .coin .pcx{font-style:normal;font-size:10px;font-weight:900;padding:1px 6px;border-radius:7px;background:#2a1a05;color:#f3cf8e;letter-spacing:.04em}
/* 今日禮遇三格 */
.dcp-perks{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:10px}
.dcp-pk{display:grid;justify-items:center;gap:1px;padding:7px 4px 6px;border-radius:13px;background:linear-gradient(180deg,rgba(243,207,142,.16),rgba(0,0,0,.25));box-shadow:inset 0 0 0 1px rgba(243,207,142,.4);text-align:center;min-width:0}
.dcp-pk i{font-style:normal;font-size:14px;line-height:1.2}
.dcp-pk small{font-size:10px;color:rgba(255,236,196,.7);letter-spacing:.04em;white-space:nowrap}
.dcp-pk b{font-size:12.5px;color:#f6d68f;font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
/* 標語、倒數、珠子、弧線 */
body.patron .dc-tag{color:#fff3d6}
body.patron .dc-beads i{border-radius:2px;transform:rotate(45deg);width:8px;height:8px;background:rgba(243,207,142,.18)}
body.patron .dc-beads i.past{background:#c9a24a;opacity:.7}
body.patron .dc-beads i.now{background:#fff1c9;box-shadow:0 0 0 2px rgba(243,207,142,.35),0 0 10px #f3cf8e}
body.patron .dc-cd{color:rgba(255,236,196,.75)}
body.patron .dc-arc .a0{stroke:rgba(243,207,142,.28)}
body.patron .dc-arc .a1{stroke:#f3cf8e}
body.patron .dc-node i{box-shadow:inset 0 0 0 2px rgba(243,207,142,.55)}
body.patron .dc-node.now span{color:#fff1c9}
/* 行動卡、下排按鈕 */
body.patron .dayc .cta.hook{box-shadow:inset 0 0 0 1px rgba(243,207,142,.6),0 10px 28px rgba(0,0,0,.45)}
body.patron .hk-in em{color:#2a1a05;background:linear-gradient(135deg,#fff1c9,#e3bd6a 55%,#b8862f);box-shadow:0 4px 14px rgba(243,207,142,.35)}
body.patron .hk-in .av{box-shadow:0 0 0 2px #f3cf8e,0 0 16px rgba(243,207,142,.45)}
body.patron .hk-live{background:rgba(243,207,142,.18);box-shadow:inset 0 0 0 1.5px #f3cf8e;color:#fff1c9}
body.patron .dayc .ctarow .btn.ghost{background:rgba(0,0,0,.28);box-shadow:inset 0 0 0 1px rgba(243,207,142,.42);color:#fff3d6}
body.patron .ctarow #cta-out{background:rgba(243,207,142,.16);box-shadow:inset 0 0 0 1px rgba(243,207,142,.6)}
body.patron .cta.main,body.patron .cta.night,body.patron .cta.free{box-shadow:inset 0 0 0 1px rgba(243,207,142,.6)}
/* 小螢幕：一級一級縮 */
.home.v2 .pg.fit2 .dcp-perks{margin-top:7px}.home.v2 .pg.fit2 .dcp-pk{padding:5px 3px}
.home.v2 .pg.fit3 .dcp-pk small{display:none}
.home.v2 .pg.fit4 .dcp-perks{display:none}
/* 花邊移到下方兩角，不壓到字；夜晚卡也換黑金 */
.dcp-orn.tl,.dcp-orn.tr{top:auto;bottom:7px;border-top:0;border-bottom:1.5px solid rgba(243,207,142,.85);border-radius:0}
.dcp-orn.tl{left:7px;border-bottom-left-radius:8px}.dcp-orn.tr{right:7px;border-bottom-right-radius:8px}
.dcp-orn.tl:after{top:auto;bottom:4px}.dcp-orn.tr:after{top:auto;bottom:4px}
body.patron .home .wid.dayc{padding-left:16px;padding-right:16px}
body.patron .cta.night{background:linear-gradient(135deg,rgba(48,36,14,.94),rgba(14,10,6,.94));box-shadow:inset 0 0 0 1px rgba(243,207,142,.6),0 12px 34px rgba(0,0,0,.45)}
body.patron .cta.night .ci{background:radial-gradient(circle at 35% 30%,#fff1c9,#e3bd6a 55%,#6b4a12)}
body.patron .cta .ct small{color:#f3cf8e}
body.patron .cta em{color:#f3cf8e}
body.patron .cta.hook .hk-in em,body.patron .cta.hero em{color:#2a1a05}

/* =====================================================================
   20261108.13 VIP 第二版：VIP 配偶卡、VIP 駕到、VIP 價、地圖、求婚、夜晚
   ===================================================================== */
/* VIP 配偶卡（全螢幕） */
.vvwed{position:absolute;inset:0;z-index:92;display:grid;place-items:center;padding:24px;overflow:hidden;animation:patfade .5s ease-out}
.vvwed.out{animation:patfade .3s ease-in reverse forwards}
.vvwed .vv-bg{position:absolute;inset:0;background:radial-gradient(90% 60% at 50% 35%,rgba(90,66,22,.95),rgba(8,6,3,.98) 70%,#000)}
.vvwed .vv-bg:after{content:"";position:absolute;inset:-50%;background:conic-gradient(from 0deg,transparent 0 6%,rgba(255,236,190,.09) 8%,transparent 10% 30%,rgba(255,236,190,.07) 32%,transparent 34% 55%,rgba(255,236,190,.09) 57%,transparent 59% 80%,rgba(255,236,190,.07) 82%,transparent 84%);animation:pvspin 30s linear infinite}
.vv-sp{position:absolute;inset:0;pointer-events:none}
.vv-sp i{position:absolute;width:6px;height:6px;background:#fff4d6;clip-path:polygon(50% 0,62% 38%,100% 50%,62% 62%,50% 100%,38% 62%,0 50%,38% 38%);opacity:0;animation:vvst 3.2s ease-in-out infinite}
.vv-sp i:nth-child(1){left:12%;top:18%;animation-delay:.1s}.vv-sp i:nth-child(2){left:82%;top:14%;animation-delay:.7s;transform:scale(1.6)}
.vv-sp i:nth-child(3){left:24%;top:72%;animation-delay:1.3s}.vv-sp i:nth-child(4){left:70%;top:80%;animation-delay:.4s;transform:scale(1.3)}
.vv-sp i:nth-child(5){left:50%;top:8%;animation-delay:1.9s}.vv-sp i:nth-child(6){left:90%;top:48%;animation-delay:2.4s}
.vv-sp i:nth-child(7){left:6%;top:46%;animation-delay:1.1s;transform:scale(1.4)}.vv-sp i:nth-child(8){left:38%;top:88%;animation-delay:2.8s}
.vv-sp i:nth-child(9){left:62%;top:28%;animation-delay:.9s}.vv-sp i:nth-child(10){left:18%;top:32%;animation-delay:2.1s}
.vv-sp i:nth-child(11){left:78%;top:64%;animation-delay:1.6s;transform:scale(1.8)}.vv-sp i:nth-child(12){left:44%;top:56%;animation-delay:3s}
.vv-sp i:nth-child(13){left:30%;top:10%;animation-delay:2.6s}.vv-sp i:nth-child(14){left:58%;top:92%;animation-delay:.2s}
@keyframes vvst{0%,100%{opacity:0}50%{opacity:1}}
.vv-in{position:relative;width:100%;max-width:330px;text-align:center;padding:22px 18px 18px;border-radius:26px;background:linear-gradient(170deg,rgba(40,30,12,.85),rgba(6,4,2,.92));box-shadow:inset 0 0 0 1.5px rgba(243,207,142,.7),inset 0 0 0 6px rgba(0,0,0,.4),inset 0 0 0 7px rgba(243,207,142,.25),0 30px 80px rgba(0,0,0,.7);animation:patdrop .9s cubic-bezier(.2,.9,.2,1.1) both}
.vv-in em{display:inline-block;font-style:normal;font-size:11px;font-weight:900;letter-spacing:.34em;padding:4px 12px 4px 16px;border-radius:8px;color:#2a1a05;background:linear-gradient(135deg,#fff1c9,#e3bd6a 55%,#b8862f)}
.vv-ring{width:120px;height:120px;margin:6px auto -6px}
.vv-ring .pv-ringsvg,.vv-ring .pv-ringimg{width:120px;height:120px}
.vv-in .av{margin:0 auto;border-radius:50%;box-shadow:0 0 0 3px #f3cf8e,0 0 30px rgba(243,207,142,.5)}
.vv-in h2{margin:12px 0 6px;font-family:var(--serif);font-size:26px;letter-spacing:.12em;background:linear-gradient(180deg,#fff7e0,#f3cf8e 55%,#b8862f);-webkit-background-clip:text;background-clip:text;color:transparent}
.vv-in p{margin:0 0 10px;font-family:var(--serif);font-size:15px;color:#fff3d6;line-height:1.7}
.vv-in small{display:block;margin-bottom:14px;font-size:12px;color:rgba(243,207,142,.8)}

/* VIP 駕到 */
.pat-arrive{position:absolute;left:50%;top:calc(46px + var(--sat));z-index:70;transform:translateX(-50%);display:flex;align-items:center;gap:10px;padding:8px 16px 8px 8px;border-radius:24px;white-space:nowrap;pointer-events:none;
  background:linear-gradient(135deg,rgba(40,30,12,.95),rgba(8,6,3,.95));box-shadow:inset 0 0 0 1px rgba(243,207,142,.7),0 10px 30px rgba(0,0,0,.5);animation:parr 2.8s ease-in-out forwards}
.pat-arrive>i{font-style:normal;width:32px;height:32px;border-radius:50%;display:grid;place-items:center;font-size:16px;color:#2a1a05;background:radial-gradient(circle at 35% 30%,#fff6dc,#e3bd6a 55%,#8a6420)}
.pat-arrive b{display:block;font-family:var(--serif);font-size:14px;letter-spacing:.2em;color:#f3cf8e}
.pat-arrive span{display:block;font-size:11px;color:rgba(255,236,196,.75)}
@keyframes parr{0%{opacity:0;transform:translate(-50%,-14px) scale(.9)}12%{opacity:1;transform:translate(-50%,0) scale(1)}82%{opacity:1;transform:translate(-50%,0)}100%{opacity:0;transform:translate(-50%,-10px)}}

/* VIP 價 */
.patshop{display:flex;align-items:center;gap:8px;margin:0 0 10px;padding:9px 14px;border-radius:14px;background:linear-gradient(135deg,rgba(243,207,142,.2),rgba(20,14,6,.6));box-shadow:inset 0 0 0 1px rgba(243,207,142,.55)}
.patshop i{font-style:normal;color:#f3cf8e}
.patshop b{font-family:var(--serif);letter-spacing:.14em;color:#fff1c9}
.patshop span{margin-left:auto;font-size:12px;color:rgba(255,236,196,.8)}
.patp{display:inline-flex;align-items:baseline;gap:5px;color:#f3cf8e}
.patp s{font-size:.82em;opacity:.5;color:var(--ink2);font-weight:400}

/* 地圖：VIP 專屬 */
.pat-msec span{color:#f3cf8e;letter-spacing:.14em}
.patmap{display:grid;grid-auto-flow:column;grid-auto-columns:46%;gap:10px;overflow-x:auto;scrollbar-width:none;padding-bottom:4px;margin-bottom:4px}
.patmap::-webkit-scrollbar{display:none}
.pmap{position:relative;border-radius:16px;overflow:hidden;aspect-ratio:1.25;text-align:left;box-shadow:inset 0 0 0 1px rgba(243,207,142,.55)}
.pmap>.pimg{position:absolute;inset:0}
.pmap>.pimg img{width:100%;height:100%;object-fit:cover}
.pmap>div{position:absolute;inset:auto 0 0 0;padding:22px 10px 8px;background:linear-gradient(180deg,transparent,rgba(5,4,2,.92))}
.pmap b{display:block;font-size:13px;color:#fff;font-family:var(--serif)}
.pmap small{font-size:10.5px;color:#f3cf8e}

/* 求婚：永夜之冕的按鈕 */
.btn.vvring{position:relative;overflow:hidden;box-shadow:0 0 0 1px rgba(243,207,142,.8),0 8px 26px rgba(243,207,142,.35)}
.btn.vvring:after{content:"";position:absolute;inset:-60% -40%;background:linear-gradient(112deg,transparent 44%,rgba(255,255,255,.45) 50%,transparent 56%);animation:patsheen 3.6s ease-in-out infinite}

/* 夜晚選人：VIP 版 */
body.patron .nightov .nh h2{background:linear-gradient(180deg,#fff7e0,#f3cf8e 60%,#c9a24a);-webkit-background-clip:text;background-clip:text;color:transparent}
body.patron .nightov .nh small{color:#f3cf8e}
body.patron .nightov .inv{box-shadow:inset 0 0 0 1px rgba(243,207,142,.3)}
body.patron .nightov #toybar{box-shadow:inset 0 0 0 1px rgba(243,207,142,.7);background:linear-gradient(135deg,rgba(243,207,142,.16),rgba(20,14,6,.5))}
/* VIP 徽章：薄版（其他分頁）、VIP 卡下方的數字列 */
.pv-hero.slim{display:flex;align-items:center;gap:12px;padding:12px 14px;text-align:left;border-radius:20px}
.pv-hero.slim .pv-glow{left:12%;top:-120%;width:80%}
.pv-hero.slim .pv-crest{width:40px;height:40px;margin:0;font-size:18px;flex:none}
.pv-hero.slim .pv-ht{position:relative;flex:1;min-width:0}
.pv-hero.slim small{letter-spacing:.18em;font-size:10px}
.pv-hero.slim h3{margin:1px 0 0;font-size:19px;letter-spacing:.1em}
.pv-hn{position:relative;text-align:right;display:grid}
.pv-hn b{font-size:15px;color:#fff1c9;font-variant-numeric:tabular-nums}
.pv-hn span{font-size:10px;color:rgba(255,236,196,.6)}
.pv-statbar{margin:-4px 0 4px;padding:10px 0 8px;border-radius:16px;background:rgba(243,207,142,.05);box-shadow:inset 0 0 0 1px rgba(243,207,142,.2)}
.pv-statbar .pv-stats{border-top:0;padding-top:0}
.pv-statbar .pv-stats{text-align:center}

/* 20261108.14 介面圖（有圖才會套用） */
.pic{display:block;width:100%;height:100%;object-fit:cover;border-radius:inherit}
.app .ic .pic{position:absolute;inset:0;width:100%;height:100%}
.pm i.has,.pv-crest.has,.pat-arrive>i.has,.patstrip>i.has,.pevn.has{background:none;overflow:hidden;padding:0}
.pm i.has{box-shadow:0 6px 16px rgba(0,0,0,.45)}
.pevn.has{box-shadow:0 0 0 2px rgba(0,0,0,.4)}
.pv-tabs button i .pic{width:17px;height:17px;border-radius:5px}
.pevk .pic{display:inline-block;width:14px;height:14px;vertical-align:-2px;border-radius:3px}
.pm i.has,.pv-crest.has,.pat-arrive>i.has,.patstrip i.has,.pevn.has{position:relative}
.pm i.has>.pic,.pv-crest.has>.pic,.pat-arrive>i.has>.pic,.patstrip i.has>.pic,.pevn.has>.pic{position:absolute;inset:0;width:100%;height:100%;border-radius:50%}
.patstrip i.has>.pic{border-radius:11px}
.pv-crest.has:before,.pv-crest.has:after{display:none}
.vic>.pic{position:absolute;inset:0;width:100%;height:100%;border-radius:inherit}
.vic:has(>.pic){position:relative;overflow:hidden}
/* 20261108.15 選中的分頁是金底：金色線條圖示改成深色才看得到 */
.pv-tabs button.on i .pic{filter:brightness(0) saturate(100%) opacity(.78)}

/* =====================================================================
   20261108.17 VIP 專屬首頁（這個連結只給VIP ）
   ===================================================================== */
.ptitle{background:#060403}
.ptitle .t2bg img{object-position:50% 42%;filter:saturate(1.05) brightness(.92)}
.ptitle .t2shade{background:radial-gradient(90% 45% at 50% 30%,rgba(255,214,140,.10),transparent 70%),linear-gradient(180deg,rgba(6,4,3,.55) 0%,rgba(6,4,3,.05) 16%,rgba(6,4,3,.25) 34%,rgba(6,4,3,.86) 52%,rgba(6,4,3,.97) 68%,#060403 100%)}
.ptitle .t2spark i{background:radial-gradient(circle,#fff6dc,rgba(243,207,142,.7) 40%,transparent 70%)}
.pt-top{position:absolute;top:calc(env(safe-area-inset-top,0px) + 46px);left:0;right:0;z-index:3;display:flex;align-items:center;justify-content:center;gap:10px;font-size:10px;letter-spacing:.34em;color:var(--pg);opacity:0;animation:up .7s .05s forwards;text-shadow:0 1px 8px rgba(0,0,0,.8)}
.pt-top i{font-style:normal;font-size:12px;letter-spacing:0}
.pt-top:before,.pt-top:after{content:"";width:22px;height:1px;background:linear-gradient(90deg,transparent,var(--pg))}
.pt-top:after{transform:scaleX(-1)}
.ptitle .t2main{padding-bottom:calc(16px + var(--sab))}
.pt-crest{width:64px;height:64px;margin:0 auto 4px;border-radius:50%;overflow:hidden;display:grid;place-items:center;box-shadow:0 0 0 1px rgba(243,207,142,.5),0 0 34px rgba(243,207,142,.35);opacity:0;animation:ptcrest 1s .05s cubic-bezier(.2,.8,.2,1) forwards;background:#0b0804}
.pt-crest img{width:100%;height:100%;object-fit:cover}
.pt-crest b{font-size:30px;color:var(--pg)}
@keyframes ptcrest{from{opacity:0;transform:scale(.6) rotate(-12deg)}to{opacity:1;transform:none}}
.ptitle .t2logo .tag{color:var(--pg);letter-spacing:.38em}
.ptitle .t2logo h1{font-size:clamp(48px,15vw,62px)}
.ptitle .t2logo h1 span{background:linear-gradient(170deg,#fffaf0 10%,#f6dfa4 45%,#c9a24a 80%,#8a6526);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 6px 22px rgba(243,207,142,.35))}
.ptitle .t2logo .en{color:#e8cf98;letter-spacing:.5em}
.ptitle .t2pitch{color:#d8cbb4;margin:10px 0 12px;font-size:14px}
.ptitle .t2pitch b{color:#fff3d6}
.ptitle .btn.main{background:linear-gradient(135deg,#fff1c9,#e3bd6a 45%,#b48a4a);color:var(--pgk);box-shadow:0 8px 28px rgba(243,207,142,.28)}
.ptitle .btn.ghost{box-shadow:inset 0 0 0 1px rgba(243,207,142,.45);color:var(--pg)}
.ptitle .t2feat div+div:before{background:rgba(243,207,142,.25)}
.ptitle .t2feat b{color:var(--pg)}
.ptitle .t2feat b small{font-size:12px;margin-left:1px}
.ptitle .t2feat span{color:#a8987c}
.ptitle .t2links{color:#c9b892}
.ptitle .t2links i{background:rgba(243,207,142,.4)}
.ptitle .t2ver{color:#8a7c62}
/* 邀請函 */
.pt-invite{position:relative;margin:0 0 10px;padding:14px 16px 12px;border-radius:18px;text-align:center;background:linear-gradient(160deg,rgba(40,30,12,.82),rgba(10,8,4,.9));box-shadow:inset 0 0 0 1px rgba(243,207,142,.55),0 18px 50px rgba(0,0,0,.6);overflow:hidden;opacity:0;animation:up .7s .5s forwards}
.pt-invite:before{content:"";position:absolute;inset:-40% -60%;background:linear-gradient(115deg,transparent 44%,rgba(255,241,201,.16) 50%,transparent 56%);animation:patsheen 6s ease-in-out infinite;pointer-events:none}
.pt-invite:after{content:"";position:absolute;inset:5px;border-radius:14px;border:1px solid rgba(243,207,142,.18);pointer-events:none}
.pi-h{display:flex;align-items:baseline;justify-content:center;gap:8px;margin-bottom:10px}
.pi-h span{font-family:var(--serif);font-weight:700;font-size:15px;letter-spacing:.3em;color:#fff3d6}
.pi-h em{font-style:normal;font-size:9px;letter-spacing:.3em;color:var(--pg3)}
.pi-code{position:relative;display:grid;grid-template-columns:repeat(6,1fr);gap:7px;margin:0 auto 12px;max-width:270px;cursor:text}
.pi-code i{height:44px;border-radius:10px;display:grid;place-items:center;font-style:normal;font-size:14px;color:var(--pg);background:rgba(0,0,0,.45);box-shadow:inset 0 0 0 1px rgba(243,207,142,.28);transition:box-shadow .2s,background .2s}
.pi-code i.on{box-shadow:inset 0 0 0 1px rgba(243,207,142,.8);background:rgba(243,207,142,.08)}
.pi-code i.cur{box-shadow:inset 0 0 0 1.5px var(--pg),0 0 12px rgba(243,207,142,.35)}
.pi-code input{position:absolute;inset:0;width:100%;height:100%;opacity:0;font-size:16px;border:0;background:transparent;color:transparent;caret-color:transparent}
.pi-code.bad{animation:pibad .42s}
@keyframes pibad{20%,60%{transform:translateX(-7px)}40%,80%{transform:translateX(7px)}}
.pt-invite .btn{margin:0}
.pi-fine{margin:8px 0 0;font-size:11px;color:#9c8c6c;letter-spacing:.06em}
.pt-chips{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;margin:0 0 2px;opacity:0;animation:up .6s .65s forwards}
.pt-chips span{padding:3px 10px;border-radius:12px;font-size:11px;color:var(--pg);background:rgba(243,207,142,.08);box-shadow:inset 0 0 0 1px rgba(243,207,142,.3)}
/* 已驗證：VIP 卡 */
.pt-card{margin:0 auto 12px;max-width:300px;opacity:0;animation:ptcard .9s .45s cubic-bezier(.2,.8,.2,1) forwards}
.pt-card .patcard{width:100%;pointer-events:none}
@keyframes ptcard{from{opacity:0;transform:translateY(18px) rotateX(24deg)}to{opacity:1;transform:none}}
@media (max-height:700px){.ptitle .pt-crest{width:48px;height:48px}.ptitle .t2logo h1{font-size:44px}.ptitle .t2pitch{font-size:13px;margin:6px 0 8px}.pt-card{max-width:240px}}

/* 年齡確認：一進門就是黑金 */
body.patlink .agegate{background:radial-gradient(80% 60% at 50% 30%,rgba(60,44,14,.55),rgba(4,3,2,.97))}
body.patlink .agebox{background:linear-gradient(160deg,#1c150a,#080604);box-shadow:inset 0 0 0 1px rgba(243,207,142,.55),0 30px 90px rgba(0,0,0,.7);position:relative}
body.patlink .agebox:before{content:"情海集團・VIP 專屬通道";display:block;text-align:center;font-size:10.5px;letter-spacing:.32em;color:var(--pg);margin:-6px 0 14px}
body.patlink .agemark{border-color:var(--pg);color:var(--pg);box-shadow:0 0 24px rgba(243,207,142,.3)}
body.patlink .agebox .sub{color:var(--pg2)}
body.patlink .agebox .btn.gold{background:linear-gradient(135deg,#fff1c9,#e3bd6a 45%,#b48a4a);color:var(--pgk)}
body.patlink .aside .tag{color:var(--pg)}
body.patlink .aside h1{background:linear-gradient(120deg,#fffaf0,#f6dfa4 50%,#c9a24a);-webkit-background-clip:text;background-clip:text;color:transparent}

/* 20261108.18 主畫面第五級縮排（VIP 卡比較高）：再放不下，引擎會把內容等比例縮小 */
.home.v2 .pg.fit5 .dcp-rib{padding-top:4px;padding-bottom:4px}
.home.v2 .pg.fit5 .dc-arc{display:none}
.home.v2 .pg.fit5 .hot .app span{display:none}
.home.v2 .pg.fit5 .app .ic{width:48px;height:48px}
.home.v2 .pg.fit5 .apps{gap:4px 6px}

/* 20261108.18 VIP 版開場：鎖定畫面通知、黑金船票、登船日卡片 */
.plock.pat .pln{background:rgba(22,16,8,.72);box-shadow:inset 0 0 0 1px rgba(243,207,142,.35),0 8px 24px rgba(0,0,0,.45)}
.plock.pat .pln.go{box-shadow:inset 0 0 0 1px rgba(243,207,142,.75),0 8px 28px rgba(243,207,142,.18)}
.plock.pat .pln .nt b{color:#fff3d6}
.plock.pat .plic.mail{background:linear-gradient(135deg,#2a2114,#0c0905);color:var(--pg);box-shadow:inset 0 0 0 1px rgba(243,207,142,.6)}
.plock.pat .plic.ring{background:radial-gradient(circle at 50% 45%,#f6dfa4,#9a6e22 65%,#2a1a05)}
.plic.pcr{background:#0b0804;color:var(--pg);overflow:hidden;box-shadow:inset 0 0 0 1px rgba(243,207,142,.6)}
.plic.pcr img{width:100%;height:100%;object-fit:cover}
.tk3.pat .tkc{background:linear-gradient(135deg,#1d1710,#0b0905 55%,#16110a);color:#fff3d6;box-shadow:0 18px 40px rgba(0,0,0,.55),0 0 0 1px rgba(243,207,142,.75)}
.tk3.pat .tkl small{color:var(--pg2)}
.tk3.pat .tkl h3{color:#f6dfa4}
.tk3.pat .tkn{color:#fff;border-bottom-color:rgba(243,207,142,.45)}
.tk3.pat .tkn em{background:var(--pg)}
.tk3.pat .tkm{color:#d8cbb4}.tk3.pat .tkm em{color:var(--pg3)}
.tk3.pat .tkr{border-left-color:rgba(243,207,142,.4)}
.tk3.pat .seal{color:#2a1a05;font-size:22px}
.cta.pre.hero.pat{box-shadow:inset 0 0 0 1px rgba(243,207,142,.7),0 12px 34px rgba(0,0,0,.45)}
.cta.pre.hero.pat .ct small{color:var(--pg)}
.pln .plic.pcr{width:38px!important;height:38px!important;min-width:38px;max-width:38px;flex:0 0 38px;padding:0}
.pln .plic.pcr img{width:38px!important;height:38px!important;max-width:38px;object-fit:cover;display:block;border-radius:10px}

/* =====================================================================
   20261108.19 VIP（原「金主」）
   ===================================================================== */
/* 開始畫面的小張黑卡：名字和「VIP 黑卡」不要疊在一起 */
.pt-card .patcard{padding:13px 15px}
.pt-card .patcard .pc-no{margin-top:7%;font-size:11px}
.pt-card .patcard .pc-name{font-size:21px;margin-top:2px;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:72%}
.pt-card .patcard .pc-foot{left:15px;right:15px;bottom:11px;font-size:10.5px}
@media (max-height:700px){.pt-card .patcard{padding:11px 13px}.pt-card .patcard .pc-name{font-size:18px}.pt-card .patcard .pc-no{margin-top:5%;font-size:10px}.pt-card .patcard .pc-chip{width:28px;height:21px}}

/* 登島登記：VIP 模式整頁黑金（原本是粉紅） */
body.patron .reg{background:radial-gradient(120% 70% at 50% -10%,rgba(120,88,30,.42),rgba(12,9,5,0) 60%),#0a0805}
body.patron .reg .rkick{color:var(--pg)}
body.patron .reg .regpane h2{color:#fff3d6}
body.patron .reg #rsteps i.on,body.patron .reg .rsteps i.on{background:var(--pg)}
body.patron .reg #rsteps i.done,body.patron .reg .rsteps i.done{background:rgba(243,207,142,.55)}
body.patron .reg .seg i{background:linear-gradient(135deg,#f6dfa4,#c9a24a);box-shadow:0 6px 18px rgba(243,207,142,.28)}
body.patron .reg .seg button.on{color:var(--pgk)}
body.patron .reg .likes button.on{background:linear-gradient(170deg,rgba(243,207,142,.24),rgba(60,42,12,.35));box-shadow:inset 0 0 0 1.5px var(--pg),0 14px 30px rgba(243,207,142,.18)}
body.patron .reg .fpre button.on{background:linear-gradient(135deg,rgba(243,207,142,.28),rgba(120,88,30,.25));box-shadow:inset 0 0 0 1.5px var(--pg),0 8px 20px rgba(243,207,142,.18);color:#fff3d6}
body.patron .reg .flv.v2{background:linear-gradient(100deg,rgba(243,207,142,.18),rgba(243,207,142,.04));box-shadow:inset 0 0 0 1.5px rgba(243,207,142,.6)}
body.patron .reg .flvs button.on[data-fv="2"]{background:linear-gradient(135deg,#f6dfa4,#c9a24a);color:var(--pgk);box-shadow:0 4px 12px rgba(243,207,142,.35)}
body.patron .reg .pswitch.on i{background:var(--pg2)}
body.patron .reg .sign .sgn{color:var(--pg)}
body.patron .reg .sign .sbar{background:linear-gradient(90deg,#c9a24a,#fff1c9)}
body.patron .reg .sign.done{box-shadow:inset 0 0 0 1.5px var(--pg),0 0 30px rgba(243,207,142,.22)}
body.patron .reg .sign.done em{color:var(--pg)}
body.patron .reg .sign.done:after{color:var(--pg);border-color:var(--pg)}
body.patron .reg .rlogo{background:conic-gradient(from 0deg,#fff1c9,#c9a24a,#6b4a12,#fff1c9)}
body.patron .reg .rlogo:after{background:#0a0805;box-shadow:inset 0 0 0 4px rgba(255,241,201,.9)}
body.patron .reg .regbg i:nth-child(1){background:#8a6420}
body.patron .reg .regbg i:nth-child(2){background:#3a2a0c}
body.patron .reg .regbg i:nth-child(3){background:#c9a24a}
body.patron .reg .regsteps i.on{background:var(--pg)}
body.patron .reg .regsteps i.done{background:rgba(243,207,142,.55)}

/* ===== 20261108.21 介面修整 ===== */
/* 俱樂部各分頁上方的小黑卡：有背景圖時字看不清楚，左側壓一層暗 */
.pv-hero.slim:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,4,2,.88) 0%,rgba(5,4,2,.62) 48%,rgba(5,4,2,.78) 100%);pointer-events:none}
.pv-hero.slim .pv-crest,.pv-hero.slim .pv-ht,.pv-hero.slim .pv-hn{position:relative}
/* 限定道具：兩張卡的「今晚帶上」對齊底部 */
.ptoy .pti{display:flex;flex-direction:column;gap:5px}
.ptoy .pti .btn{margin-top:auto;align-self:stretch}
/* VIP 模式下，小說閱讀器與導覽改成黑金，不再是粉紅 */
body.patron .reader .rch button{background:rgba(22,16,8,.76);box-shadow:inset 0 0 0 1px rgba(243,207,142,.5)}
body.patron .reader .rch button:active{background:rgba(243,207,142,.16)}
body.patron .rbody .spk b{color:var(--pg)}
body.patron .rbody .spk .av{box-shadow:0 0 0 1.5px rgba(243,207,142,.65)}
body.patron .reader .rcover .rhead h2:after{background:linear-gradient(90deg,var(--pg),transparent)}
body.patron .reader .rcover .rhead small{color:#f6dfa4}
body.patron .reader .rbody p.r18{border-left-color:rgba(243,207,142,.5)}
body.patron .reader .rbody p.hole{color:var(--pg);border-color:rgba(243,207,142,.5)}
body.patron .reader .rbody p.mine{color:#f6dfa4;background:rgba(243,207,142,.1)}
body.patron .thole{box-shadow:0 0 0 2000px rgba(4,3,2,.8),0 0 0 2px rgba(243,207,142,.9),0 0 30px rgba(243,207,142,.5)}
body.patron .tbub{background:linear-gradient(160deg,#241a0c,#120d06);box-shadow:0 14px 40px rgba(0,0,0,.6),inset 0 0 0 1px rgba(243,207,142,.4)}
body.patron .tbub small{color:var(--pg)}
body.patron .promotip{background:linear-gradient(135deg,#e3bd6a,#8a6420);color:#1a1205}
body.patron .promotip::before{background:#e3bd6a}
/* 窄手機（320px）：日期整行放到天數下面，不要卡成「9月／1日」兩截 */
@media (max-width:350px){
  body.patron .dayc .dc-day small{display:block;margin-left:0;margin-top:2px;white-space:nowrap}
  body.patron .dayc .coin{font-size:14px;padding-left:8px;padding-right:9px}
  body.patron .dayc .coin .pcx{font-size:10.5px}
}

/* ===== 20261108.22 彩蛋：黑卡背面（長按翻面） ===== */
.patcard{transition:transform .72s cubic-bezier(.4,0,.2,1);-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
.patcard.turn{transform:perspective(1100px) rotateY(180deg)}
.patcard.turn .pc-top,.patcard.turn .pc-no,.patcard.turn .pc-name,.patcard.turn .pc-foot,.patcard.turn .pc-shine{opacity:0;transition:opacity 0s .34s}
.patcard .pc-top,.patcard .pc-no,.patcard .pc-name,.patcard .pc-foot{transition:opacity 0s .34s}
.pc-back{position:absolute;inset:0;transform:rotateY(180deg);opacity:0;pointer-events:none;transition:opacity 0s .34s;padding:0 0 10px;display:flex;flex-direction:column;background:linear-gradient(160deg,#141008,#070503)}
.patcard.turn .pc-back{opacity:1}
.pc-back .pcb-strip{height:17%;min-height:22px;background:linear-gradient(90deg,#0a0805,#1a1409 40%,#0a0805);border-top:1px solid rgba(243,207,142,.25);border-bottom:1px solid rgba(243,207,142,.25);margin-top:8%}
.pc-back .pcb-rows{display:grid;grid-template-columns:1fr 1fr;gap:4px 12px;padding:9px 16px 0}
.pc-back .pcb-rows small{display:block;font-size:9px;letter-spacing:.14em;color:rgba(243,207,142,.55)}
.pc-back .pcb-rows b{display:block;font-size:12px;color:var(--pg);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pc-back .pcb-fine{margin:auto 16px 0;font-size:9.5px;color:rgba(246,223,164,.6);letter-spacing:.04em}
.pc-back .pcb-hand{margin:3px 16px 0;font-size:10.5px;color:#f6dfa4;font-family:"Noto Serif TC","Songti TC",serif;font-style:italic;opacity:.85}
@media (max-width:360px){.pc-back .pcb-rows{gap:2px 8px;padding-top:6px}.pc-back .pcb-rows b{font-size:11px}.pc-back .pcb-hand{font-size:9.5px}}
/* 20261108.24 夜晚行動卡的小圖示：改成圓形細金邊，不要一整塊厚金底（emoji 是方的，看起來像框很厚） */
/* 20261108.25 修正：放頭像的 .ci.faces 是長方形（寬 58），整個套圓框會變橢圓。改成：一般圖示一定正圓；頭像不套外框，每顆頭像自己一圈細金邊 */
body.patron .cta.night .ci:not(.faces){aspect-ratio:1/1;border-radius:50%;background:rgba(8,6,3,.55);box-shadow:inset 0 0 0 1.5px rgba(243,207,142,.85),0 0 14px rgba(243,207,142,.22);overflow:hidden}
body.patron .cta.night .ci.faces{background:none;box-shadow:none;border-radius:0;overflow:visible}
body.patron .cta .ci.faces span{border-radius:50%;box-shadow:0 0 0 1.5px rgba(243,207,142,.85),0 0 10px rgba(243,207,142,.2)}
body.patron .cta .ci.faces .av,body.patron .cta .ci.faces img{border-radius:50%;aspect-ratio:1/1;object-fit:cover}
/* 20261108.26 永夜之冕「可以求婚的人」：頭像被 .pvc>div{flex:1} 撐成長方形（橢圓），固定成正圓 */
.pvc>.av{flex:0 0 auto}
/* 20261108.26 開始畫面：很矮的畫面（js 的 titleFit 加 ptfit3）、320 寬的小手機 */
.ptitle.ptfit3 .t2logo .tag{margin-bottom:2px}
.ptitle.ptfit3 .t2logo h1{font-size:38px}
.ptitle.ptfit3 .t2pitch{margin:4px 0 6px;font-size:12.5px;line-height:1.5}
.ptitle.ptfit3 .pt-invite{padding-top:10px;padding-bottom:10px}
.ptitle.ptfit3 .pt-card{max-width:210px;margin-bottom:8px}
.ptitle.ptfit3 .t2feat{margin:8px 0 2px}
.ptitle.ptfit3 .t2links{margin-top:4px}
@media (max-width:340px){.ptitle .pi-h em{display:none}.ptitle .t2links{gap:8px;font-size:12px}.ptitle .t2links button{white-space:nowrap;padding:6px 2px}}

/* ===== 20261108.27 VIP 黑卡・全島通行（js/patron_plus.js） ===== */
.spot.k-vip .sico{background:radial-gradient(circle at 35% 30%,#fff6dc,#e3bd6a 55%,#8a6420);color:#2a1a05;box-shadow:0 0 0 1px rgba(255,246,220,.7),0 0 20px rgba(243,207,142,.55)}
.spot.k-vip small{color:var(--gold)}
.srow.k-vip{box-shadow:inset 0 0 0 1px rgba(243,207,142,.55);background:linear-gradient(100deg,rgba(243,207,142,.14),rgba(243,207,142,.04))}
.srow.k-vip .sico{background:radial-gradient(circle at 35% 30%,#fff6dc,#e3bd6a 55%,#8a6420);color:#2a1a05}
.srow.k-vip b{color:#f6dfaa}
.srow.k-vip span{white-space:normal;overflow:visible;text-overflow:clip;line-height:1.4}
.srow.k-vip em{background:var(--gold);color:#2a1a06}
.pat-arrive .vk-greet{display:block;white-space:normal;max-width:min(250px,calc(100vw - 120px));font-size:11px;line-height:1.45;margin-top:2px;color:#fff1d2}
.vk-club{display:flex;flex-direction:column;gap:10px;margin:2px 0 14px}
.vk-head{display:flex;align-items:center;gap:10px}
.vk-head>i{font-style:normal;width:36px;height:36px;flex:0 0 36px;border-radius:50%;display:grid;place-items:center;font-size:17px;background:radial-gradient(circle at 35% 30%,#fff6dc,#e3bd6a 55%,#8a6420);box-shadow:0 0 0 1px rgba(255,246,220,.6)}
.vk-head b{display:block;font-family:var(--serif);font-size:16px;letter-spacing:.08em;color:#f6dfaa}
.vk-head small{display:block;font-size:11.5px;color:rgba(255,236,196,.72);margin-top:1px}
.vk-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}
.vk-sp{position:relative;display:flex;flex-direction:column;align-items:center;gap:2px;padding:10px 4px 9px;border-radius:14px;background:linear-gradient(160deg,rgba(243,207,142,.12),rgba(0,0,0,.25));box-shadow:inset 0 0 0 1px rgba(243,207,142,.28);color:var(--ink);text-align:center}
.vk-sp.vk-hot{box-shadow:inset 0 0 0 1px rgba(243,207,142,.85);background:linear-gradient(160deg,rgba(243,207,142,.26),rgba(120,80,20,.18))}
.vk-ic{font-size:20px;line-height:1.2}
.vk-sp b{font-size:13px;color:#f6dfaa;white-space:nowrap}
.vk-sp small{font-size:10.5px;color:rgba(255,236,196,.7);white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis}
.vk-sp em{font-style:normal;font-size:9.5px;font-weight:700;margin-top:3px;padding:1px 7px;border-radius:999px;color:#2a1a06;background:linear-gradient(135deg,#fff1c9,#e3bd6a)}
.vk-sp em.vk-n{color:#f6dfaa;background:rgba(243,207,142,.14)}
.vk-grid.vk-sm{margin:0 0 12px}
.vk-grid.vk-sm .vk-sp{padding:8px 4px 7px}
.vk-lead{margin:0;font-size:12px;line-height:1.6}
.vk-auc{display:flex;align-items:center;gap:11px;width:100%;padding:12px 14px;border-radius:16px;text-align:left;color:var(--ink);background:linear-gradient(110deg,#1b1206,#0b0805);box-shadow:inset 0 0 0 1px rgba(243,207,142,.4)}
.vk-auc>i{font-style:normal;width:34px;height:34px;flex:0 0 34px;border-radius:50%;display:grid;place-items:center;font-size:16px;color:#2a1a05;background:radial-gradient(circle at 35% 30%,#fff6dc,#e3bd6a 55%,#8a6420)}
.vk-auc>div{flex:1;min-width:0}
.vk-auc b{display:block;font-family:var(--serif);font-size:15px;color:#f6dfaa;letter-spacing:.06em}
.vk-auc small{display:block;font-size:11.5px;line-height:1.5;color:rgba(255,236,196,.72);margin-top:1px}
.vk-auc em{font-style:normal;font-size:20px;color:var(--gold)}
.vk-auc.vk-open{box-shadow:inset 0 0 0 1px rgba(243,207,142,.9),0 0 22px rgba(243,207,142,.18)}
.vk-auc.vk-locked{opacity:.78}
@media (max-width:360px){.vk-sp b{font-size:12px}.vk-sp small{font-size:10px}.vk-grid{gap:5px}}
.spot.k-vip.hot .sico{animation:vkpulse 1.8s ease-in-out infinite}
@keyframes vkpulse{0%,100%{box-shadow:0 0 0 1px rgba(255,246,220,.7),0 0 12px rgba(243,207,142,.45)}50%{box-shadow:0 0 0 1px rgba(255,246,220,.9),0 0 24px rgba(243,207,142,.8)}}
