/* ===== pocket.css — 单一设计语言 (UIKIT_SPEC_v3): Pokémon TCG Pocket 结构与规则, 仅换色相为暖桃/橙金 =====
   加载顺序最后; body.pk 下生效. 零纹理 / 零装饰 / 零金属 (卡面除外). */
:root {
  --pk-bg-a: #FFF7EE; --pk-bg-b: #FBE6D6;
  --pk-panel: #FFFDF9; --pk-panel-2: #F5EDE3;
  --pk-ink: #3B3A40; --pk-ink-2: #8A857F; --pk-line: rgba(60,40,20,.08);
  --pk-accent: #F08A24; --pk-accent-2: #FFB85C; --pk-ok: #3CB371; --pk-bad: #E4573D;
  --pk-r-xl: 28px; --pk-r-lg: 20px; --pk-r-md: 14px; --pk-r-sm: 10px;
  --pk-shadow: 0 8px 24px rgba(80,50,20,.10), inset 0 1px 0 #fff; --pk-shadow-2: 0 2px 8px rgba(80,50,20,.10), inset 0 1px 0 #fff;
  --pk-tab-h: 74px;
}
body.pk { background: linear-gradient(180deg, var(--pk-bg-a), var(--pk-bg-b)); color: var(--pk-ink); }
body.pk .bg-pattern, body.pk #l2-bg { display: none !important; }
body.pk #views { background: transparent; }

/* ---- 线性图标 (24 grid, 2px 圆头) ---- */
.pi { display: inline-block; width: 24px; height: 24px; background: currentColor; -webkit-mask: var(--i) center / contain no-repeat; mask: var(--i) center / contain no-repeat; }
.pi-home { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 11.5 12 4l9 7.5'/%3E%3Cpath d='M5.5 10v10h13V10'/%3E%3Cpath d='M10 20v-5h4v5'/%3E%3C/svg%3E"); }
.pi-cards { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='7' y='3' width='12' height='16' rx='2.5'/%3E%3Cpath d='M5 7.5v11A2.5 2.5 0 0 0 7.5 21H16'/%3E%3C/svg%3E"); }
.pi-swords { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 4l11 11'/%3E%3Cpath d='M20 4 9 15'/%3E%3Cpath d='M6 18l-2 2M18 18l2 2'/%3E%3Cpath d='M13 17l4-4M11 17l-4-4'/%3E%3C/svg%3E"); }
.pi-scroll { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 4h11a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H6'/%3E%3Cpath d='M6 4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2'/%3E%3Cpath d='M9 9h6M9 13h4'/%3E%3C/svg%3E"); }
.pi-user { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8.5' r='4'/%3E%3Cpath d='M4.5 20.5a7.5 7.5 0 0 1 15 0'/%3E%3C/svg%3E"); }
.pi-mail { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5.5' width='18' height='13' rx='2.5'/%3E%3Cpath d='m3.5 7 8.5 6 8.5-6'/%3E%3C/svg%3E"); }
.pi-bag { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 8h14l-1 12H6z'/%3E%3Cpath d='M9 8V6a3 3 0 0 1 6 0v2'/%3E%3C/svg%3E"); }
.pi-gear { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='3.2'/%3E%3Cpath d='M12 2.5v3M12 18.5v3M2.5 12h3M18.5 12h3M5.3 5.3l2.1 2.1M16.6 16.6l2.1 2.1M5.3 18.7l2.1-2.1M16.6 7.4l2.1-2.1'/%3E%3C/svg%3E"); }
.pi-left { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m14.5 5.5-6.5 6.5 6.5 6.5'/%3E%3C/svg%3E"); }
.pi-right { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m9.5 5.5 6.5 6.5-6.5 6.5'/%3E%3C/svg%3E"); }
.pi-hourglass { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 3h10v4l-4 5 4 5v4H7v-4l4-5-4-5z'/%3E%3C/svg%3E"); }
.pi-x { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.6' stroke-linecap='round'%3E%3Cpath d='M6 6l12 12M18 6 6 18'/%3E%3C/svg%3E"); }

/* ---- 基础组件 ---- */
.pk-round { position: relative; width: 46px; height: 46px; border-radius: 50%; background: var(--pk-panel); box-shadow: var(--pk-shadow-2); color: var(--pk-ink); display: inline-flex; align-items: center; justify-content: center; border: 0; transition: transform .08s; }
.pk-round.sm { width: 38px; height: 38px; } .pk-round.sm .pi { width: 20px; height: 20px; }
.pk-round:active { transform: scale(.94); }
.pk-dot { position: absolute; right: 2px; top: 2px; width: 11px; height: 11px; border-radius: 50%; background: var(--pk-bad); box-shadow: 0 0 0 2px var(--pk-panel); }
.pk-pill { display: inline-flex; align-items: center; gap: 8px; height: 40px; padding: 0 16px 0 12px; border-radius: 999px; background: var(--pk-panel); box-shadow: var(--pk-shadow-2); color: var(--pk-ink); font-weight: 800; font-size: .92rem; font-variant-numeric: tabular-nums; border: 0; }
.pk-pill .pi { width: 18px; height: 18px; color: var(--pk-ink-2); } .pk-pill .ni { width: 18px; height: 18px; }
.pk-pill.sm { height: 34px; padding: 0 12px 0 10px; font-size: .84rem; }
.pk-pill.ready { color: #fff; background: var(--pk-accent); box-shadow: 0 6px 16px rgba(240,138,36,.35); } .pk-pill.ready .pi { color: #fff; }
.pk-tile { position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; padding: 16px 12px 14px; border-radius: var(--pk-r-lg); background: var(--pk-panel); box-shadow: var(--pk-shadow); color: var(--pk-ink); border: 0; transition: transform .08s; }
.pk-tile:active { transform: scale(.97); }
.pk-tile .ni { width: 56px; height: 56px; margin-bottom: 4px; -webkit-mask: none; mask: none; background: var(--i) center / contain no-repeat; filter: drop-shadow(0 4px 6px rgba(80,50,20,.18)); }
.pk-tile span { font-family: "Songti SC","STSong","Noto Serif CJK SC",serif; font-weight: 900; font-size: 1rem; letter-spacing: .06em; }
.pk-tile small { font-size: .7rem; color: var(--pk-ink-2); font-weight: 700; }
.pk-tile .pk-dot { right: 12px; top: 12px; }

/* ---- HUD ---- */
body.pk #hud { justify-content: flex-start; padding-top: calc(var(--sat) + 10px); }
body.pk .hud-avatar { width: 52px; height: 52px; background: var(--pk-panel); box-shadow: var(--pk-shadow-2); filter: none; }
body.pk .hud-avatar .av-ring { inset: 4px; box-shadow: none; }
body.pk .hud-avatar .av-lv { bottom: -6px; font-family: system-ui, sans-serif; font-size: .62rem; font-weight: 800; color: #fff; background: var(--pk-accent); border-radius: 999px; padding: 1px 7px; text-shadow: none; box-shadow: 0 0 0 2px var(--pk-panel); }
body.pk .hud-res { display: none; } /* 首页资源改为包下小胶囊; L2 页由各页自带 */
body.pk.in-l2 .hud-res { display: flex; gap: 8px; }
body.pk .res { background: var(--pk-panel) !important; box-shadow: var(--pk-shadow-2) !important; border-radius: 999px !important; color: var(--pk-ink) !important; width: auto !important; height: 36px !important; padding: 0 14px 0 10px !important; filter: none; font-size: .9rem; }
body.pk .res .ni { display: inline-block; width: 18px; height: 18px; } body.pk .res .plus { background: var(--pk-accent); box-shadow: 0 0 0 2px var(--pk-panel); }

/* ---- 首页 (SPEC v3 §7) ---- */
body.pk #view-home { display: none; }
body.pk #view-home.active { display: grid; grid-template-rows: auto 1fr auto auto; gap: 0; padding: calc(var(--top-h) + var(--sat)) 20px calc(var(--pk-tab-h) + var(--sab) + 16px); height: 100%; box-sizing: border-box; overflow: hidden; }
.pk-home-top { position: absolute; top: calc(var(--sat) + 10px); right: 16px; z-index: 21; }
.pk-top-icons { display: flex; gap: 10px; }
.pk-packs { position: relative; display: flex; align-items: center; justify-content: center; min-height: 0; }
body.pk .pack-ring { position: relative; left: auto; bottom: auto; width: 100%; height: 100%; pointer-events: auto; }
body.pk .pack-ring .pc { position: absolute; left: 50%; top: 50%; bottom: auto; width: min(46vw, 210px, calc((100vh - 420px) * 1115 / 1683)); --ak: calc(var(--k) * var(--k));
  transform: translate(-50%, -50%) translateX(calc(var(--k) * 62%)) translateY(calc(min(var(--ak), 4) * 4%)) rotate(calc(var(--k) * 9deg)) scale(calc(1 - min(var(--ak), 4) * .14)); z-index: calc(10 - var(--ak));
  filter: brightness(calc(1 - min(var(--ak), 2) * .12)) saturate(calc(1 - min(var(--ak), 2) * .2)) drop-shadow(0 14px 22px rgba(80,50,20,.28)); animation: none; }
body.pk .pack-ring .pc.on { animation: pk-float 3.4s ease-in-out infinite; }
@keyframes pk-float { 0%,100% { translate: 0 0; } 50% { translate: 0 -6px; } }
body.pk .pack-carousel.ready .pc.on, body.pk .pk-packs.ready .pc.on { filter: drop-shadow(0 18px 26px rgba(80,50,20,.30)) drop-shadow(0 0 22px rgba(255,184,92,.55)); }
body.pk .pack-arrow { position: absolute; top: 50%; transform: translateY(-50%); z-index: 12; } body.pk .pack-arrow.left { left: 0; } body.pk .pack-arrow.right { right: 0; }
body.pk .well-btn { display: none; }
.pk-status { display: flex; gap: 10px; justify-content: center; align-items: center; margin: 8px 0 18px; }
.pk-status .bubble { position: static; transform: none; width: auto; height: auto; padding: 0; background: none; box-shadow: none; font-size: .92rem; color: inherit; font-weight: 800; white-space: nowrap; }
.pk-status .bubble.hidden { display: none; }
.pk-tiles { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }

/* ---- 底栏 (5 tab) ---- */
html body.pk #nav, html body.pk:not(.in-scene) #nav { background: var(--pk-panel) !important; border-radius: var(--pk-r-xl) var(--pk-r-xl) 0 0; box-shadow: 0 -6px 24px rgba(80,50,20,.10); height: calc(var(--pk-tab-h) + var(--sab)); padding: 6px 8px var(--sab); display: flex; align-items: stretch; justify-content: space-around; }
body.pk #nav::before, body.pk #nav::after { display: none; }
body.pk .nav-item { background: none !important; filter: none !important; transform: none !important; text-shadow: none !important; flex-direction: column; gap: 3px; color: var(--pk-ink-2); font-size: .66rem; font-weight: 800; letter-spacing: .04em; font-family: system-ui, -apple-system, sans-serif; padding: 6px 0 4px; max-width: none; }
body.pk .nav-item .pi { width: 26px; height: 26px; }
body.pk .nav-item.active { color: var(--pk-accent); }
body.pk .nav-item.active::after { content: ''; width: 5px; height: 5px; border-radius: 50%; background: var(--pk-accent); margin-top: 1px; }
body.pk .nav-item .badge { top: 2px; right: calc(50% - 22px); background: var(--pk-bad); box-shadow: 0 0 0 2px var(--pk-panel); }

/* ---- L2 页壳: 去石碑, 白面板 ---- */
body.pk.in-l2 .l2-title { background: none; color: var(--pk-ink); text-shadow: none; filter: none; animation: none; width: auto; height: auto; padding: 8px 0; font-size: 1.15rem; }
body.pk.in-l2 .l2-title small { color: var(--pk-ink-2); }
body.pk.in-l2 .l2-back { background: var(--pk-panel); box-shadow: var(--pk-shadow-2); filter: none; color: var(--pk-ink); border-radius: 50%; }
body.pk .card-panel, body.pk.in-l2 .card-panel { background: var(--pk-panel) !important; border-radius: var(--pk-r-lg); box-shadow: var(--pk-shadow); color: var(--pk-ink); }
body.pk .sheet-box, body.pk .sheet-box.lineup, body.pk .sheet-box.mount, body.pk #sheet-pick .sheet-box { background: var(--pk-panel) !important; border-image: none !important; border-radius: var(--pk-r-xl) var(--pk-r-xl) 0 0 !important; filter: none !important; box-shadow: 0 -10px 40px rgba(80,50,20,.16); padding: 22px 20px calc(20px + var(--sab)); margin-top: 0; }
body.pk .sheet-box::before { display: none !important; }
body.pk .sheet-box h3 { text-align: left; color: var(--pk-ink); padding-right: 48px; }
body.pk .sheet-x { position: absolute; z-index: 3; border: 0; color: transparent; top: 14px !important; right: 14px !important; width: 40px !important; height: 40px !important; background: var(--pk-panel-2) !important; border-radius: 50%; }
body.pk .sheet-x::before { content: ''; position: absolute; inset: 0; background: var(--pk-ink); -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.6' stroke-linecap='round'%3E%3Cpath d='M7 7l10 10M17 7 7 17'/%3E%3C/svg%3E") center / 20px no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.6' stroke-linecap='round'%3E%3Cpath d='M7 7l10 10M17 7 7 17'/%3E%3C/svg%3E") center / 20px no-repeat; }
@media (min-width: 760px) { body.pk .sheet-box, body.pk .sheet-box.lineup, body.pk .sheet-box.mount { border-radius: var(--pk-r-xl) !important; } }
/* 按钮统一: 主 = accent 实心; 次 = 白 + line */
body.pk .chip.ready, body.pk #mt-go, body.pk #line-go, body.pk .btn-primary, body.pk #jn-arena, body.pk .end-btns #end-again, body.pk .jn-hud .chip.ready { background: var(--pk-accent) !important; color: #fff !important; border-radius: 999px !important; box-shadow: 0 6px 16px rgba(240,138,36,.35) !important; filter: none !important; text-shadow: none !important; font-family: system-ui, -apple-system, sans-serif !important; font-weight: 800 !important; }
body.pk .chip, body.pk .btn-ghost, body.pk .jn-hud .chip, body.pk .line-btns .btn-ghost, body.pk .end-btns .btn-ghost, body.pk .qb-skip, body.pk .home-stone { background: var(--pk-panel) !important; color: var(--pk-ink) !important; border-radius: 999px !important; box-shadow: var(--pk-shadow-2), inset 0 0 0 1px var(--pk-line) !important; filter: none !important; text-shadow: none !important; font-family: system-ui, -apple-system, sans-serif !important; font-weight: 800 !important; }
body.pk .chip.ready b { color: #fff !important; }
body.pk .chip:disabled, body.pk #mt-go:disabled, body.pk .btn-ghost:disabled { background: var(--pk-panel-2) !important; color: var(--pk-ink-2) !important; box-shadow: none !important; }
body.pk .jn-hud .chip.jn-star { background: var(--pk-panel) !important; color: var(--pk-ink) !important; }
body.pk .line-bond .bond { background: var(--pk-panel-2) !important; color: var(--pk-ink) !important; border-radius: 999px; filter: none; } body.pk .line-bond .bond b { color: var(--pk-accent); } body.pk .line-bond .bond.foe { background: var(--pk-panel-2) !important; color: var(--pk-ink) !important; } body.pk .line-bond .bond.foe b { color: var(--pk-ink-2); }
body.pk .line-vs i { background: var(--pk-panel-2) !important; border-radius: 999px !important; height: 10px !important; overflow: hidden; position: relative; } body.pk .line-vs i::before { display: block !important; content: ''; position: absolute; left: 0; top: 0; bottom: 0; width: var(--p); background: var(--pk-ok); border-radius: 999px; } body.pk .line-vs i::after { display: block !important; content: ''; position: absolute; right: 0; top: 0; bottom: 0; width: calc(100% - var(--p)); background: var(--pk-bad); border-radius: 999px; }
body.pk .line-vs b { color: var(--pk-ok); } body.pk .line-vs b:last-child { color: var(--pk-bad); }
body.pk #toast { background: var(--pk-ink) !important; color: #fff !important; border-radius: 999px !important; padding: 10px 18px !important; filter: none; }
body.pk .mt-trait { background: var(--pk-panel-2); box-shadow: none; color: var(--pk-ink); border-radius: var(--pk-r-md); } body.pk .mt-trait b { color: var(--pk-accent); }
body.pk .jn-tab { background: var(--pk-panel) !important; color: var(--pk-ink-2) !important; border-radius: 999px !important; box-shadow: var(--pk-shadow-2) !important; filter: none !important; text-shadow: none !important; padding: 8px 14px !important; height: auto !important; font-family: system-ui, sans-serif !important; font-weight: 800; }
body.pk .jn-tab.on { background: var(--pk-accent) !important; color: #fff !important; }
body.pk .jn-tab.lock { opacity: .45; }

/* ---- 擂台: 浅色桌面 ---- */
body.pk #arena { background: linear-gradient(180deg, #FFF7EE 0%, #F7E3D2 55%, #EFD3BE 100%) !important; }
body.pk #arena::before, body.pk #arena::after { display: none; }
body.pk .ar-title { color: var(--pk-ink); text-shadow: none; } body.pk .ar-title small { color: var(--pk-ink-2); }
body.pk .ar-x { background: var(--pk-panel); box-shadow: var(--pk-shadow-2); filter: none; border-radius: 50%; color: transparent; }
body.pk .ar-x::before { content: ''; position: absolute; inset: 0; background: var(--pk-ink); -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.6' stroke-linecap='round'%3E%3Cpath d='M7 7l10 10M17 7 7 17'/%3E%3C/svg%3E") center / 20px no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.6' stroke-linecap='round'%3E%3Cpath d='M7 7l10 10M17 7 7 17'/%3E%3C/svg%3E") center / 20px no-repeat; }
body.pk .ar-spd { background: var(--pk-panel) !important; color: var(--pk-ink) !important; border-radius: 999px !important; box-shadow: var(--pk-shadow-2) !important; filter: none; text-shadow: none !important; } body.pk #arena.x2 .ar-spd { background: var(--pk-accent) !important; color: #fff !important; }
body.pk .ar-round, body.pk #ar-note, body.pk .ac-name { color: var(--pk-ink); text-shadow: none; }
body.pk .ar-row.foe { transform: none; }
body.pk .ar-mid { color: var(--pk-ink-2); }
body.pk .qb, body.pk .ib, body.pk .pb, body.pk .end-box { border-image: none !important; background: var(--pk-panel) !important; border-radius: var(--pk-r-xl) var(--pk-r-xl) 0 0 !important; box-shadow: 0 -10px 40px rgba(80,50,20,.16) !important; filter: none !important; padding: 18px 18px 20px !important; color: var(--pk-ink); }
body.pk .end-box { border-radius: var(--pk-r-xl) !important; }
body.pk .qb-subj { background: var(--pk-accent) !important; border-radius: 999px !important; color: #fff !important; text-shadow: none !important; padding: 3px 12px !important; font-family: system-ui, sans-serif; }
body.pk .qb-opts .qo { background: var(--pk-panel-2) !important; border-radius: var(--pk-r-md) !important; box-shadow: none !important; color: var(--pk-ink); } body.pk .qb-opts .qo.right { background: var(--pk-ok) !important; color: #fff; } body.pk .qb-opts .qo.wrong { background: var(--pk-bad) !important; color: #fff; }
body.pk .qb-decay { background: var(--pk-panel-2); } body.pk .qb-decay i { background: var(--pk-accent) !important; }
body.pk .ar-banner { background: var(--pk-panel) !important; border-radius: 999px; box-shadow: var(--pk-shadow); color: var(--pk-ink) !important; text-shadow: none !important; padding: 10px 28px 12px !important; }
body.pk .ac-hp { background: var(--pk-panel-2); } 
body.pk #arena.injecting .ac.can::before { box-shadow: 0 0 0 3px var(--pk-accent), 0 0 24px rgba(240,138,36,.7); }

/* ---- 修正批 1 ---- */
body.pk .pk-packs { --pw: min(44vw, 200px, calc((100dvh - 430px) * 1115 / 1683)); }
body.pk .pack-ring .pc { width: var(--pw) !important; }
body.pk .pack-ring .pc.on { animation: pk-float 3.4s ease-in-out infinite; }
/* 征途: 去石碑/深底, 白卡节点 */
body.pk #view-journey { background: none; }
body.pk .jn-scroll::before { background: var(--pk-line); width: 2px; }
body.pk .jn-node::before { background: var(--pk-line); }
body.pk .jn-stele { background: var(--pk-panel) !important; border-radius: var(--pk-r-md); box-shadow: var(--pk-shadow-2); color: var(--pk-ink) !important; text-shadow: none; writing-mode: horizontal-tb; width: 72px; height: 72px; padding: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; font-size: .95rem; filter: none !important; }
body.pk .jn-node.lock .jn-stele { color: var(--pk-ink-2) !important; opacity: .6; }
body.pk .jn-node.god .jn-stele { background: var(--pk-accent) !important; color: #fff !important; width: 84px; height: 84px; }
body.pk .jn-node.cur .jn-stele { box-shadow: 0 0 0 3px var(--pk-accent), var(--pk-shadow); animation: none; }
body.pk .jn-stars i { color: var(--pk-line); } body.pk .jn-stars i.on { color: var(--pk-accent); } body.pk .jn-node.god .jn-stars i.on { color: #fff; }
body.pk .jn-info b, body.pk .jn-info .hint, body.pk .jn-mile { color: var(--pk-ink); text-shadow: none; } body.pk .jn-info .hint, body.pk .jn-mile { color: var(--pk-ink-2); }
body.pk .jn-beasts i { background-color: var(--pk-panel); box-shadow: var(--pk-shadow-2); border: 0; } body.pk .jn-beasts i.unk::after { color: var(--pk-ink-2); }
body.pk .l2-head .home-stone, body.pk #jn-sub { color: var(--pk-ink-2); }
body.pk .jn-hud .chip.jn-food.ready { background: var(--pk-panel) !important; color: var(--pk-ink) !important; box-shadow: var(--pk-shadow-2) !important; } body.pk .jn-hud .chip.jn-food.ready b, body.pk .jn-hud .chip.jn-food small { color: var(--pk-ink) !important; }
/* 擂台头部: 关闭圆钮不再挤标题 */
body.pk .ar-top { gap: 10px; } body.pk .ar-x { flex: 0 0 auto; position: relative; }
body.pk .ar-title { color: var(--pk-ink); }
body.pk .ar-round { color: var(--pk-ink-2); font-weight: 800; }
/* L2 head 通用 */
body.pk .l2-head { min-height: 56px; }
body.pk.in-l2 .l2-back { width: 42px; height: 42px; line-height: 40px; color: transparent; }
body.pk.in-l2 .l2-back::before { content: ''; position: absolute; inset: 0; background: var(--pk-ink); -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m14.5 5.5-6.5 6.5 6.5 6.5'/%3E%3C/svg%3E") center / 20px no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m14.5 5.5-6.5 6.5 6.5 6.5'/%3E%3C/svg%3E") center / 20px no-repeat; }
body.pk .home-stone .ni { display: none; }
/* ---- 修正批 2: 首页网格高度 ---- */
body.pk #view-home.active { height: 100dvh; min-height: 100dvh; grid-template-rows: 0 minmax(240px, 1fr) auto auto; }
body.pk .pk-packs { min-height: 240px; }
/* ---- 修正批 3 ---- */
body.pk #view-home.active { grid-template-rows: 28px minmax(240px, 1fr) auto auto; }
body.pk .pk-packs { transform: translateY(6px); }
body.pk .pk-tiles { margin-bottom: 6px; }
body.pk.in-l2 .view { padding-bottom: calc(var(--pk-tab-h) + var(--sab) + 24px) !important; }
body.pk .jn-stele { writing-mode: horizontal-tb !important; text-orientation: mixed; letter-spacing: 0; line-height: 1.1; }
body.pk .jn-stele .jn-stars { position: static; margin-top: 4px; font-size: .55rem; letter-spacing: 1px; }
body.pk #view-journey .l2-title { margin-top: 4px; }

/* =================== 批 4: 兽录 / 问道 / 我 / 卡包页 / 市集 / 卡详情 (Pocket 结构) =================== */
/* L2 页通用: 顶部内容与 HUD 对齐 */
body.pk.in-l2 .view { padding-left: 16px; padding-right: 16px; }
body.pk .hint, body.pk .sub { color: var(--pk-ink-2); }
body.pk .link { color: var(--pk-accent); font-weight: 800; }
body.pk .card-panel { padding: 16px; margin: 0 0 12px; }
body.pk .card-panel::after { display: none; }
body.pk .card-panel > header { padding: 0; background: none; margin-bottom: 10px; }
body.pk .card-panel h3 { font-family: "Songti SC","STSong","Noto Serif CJK SC",serif; letter-spacing: .06em; color: var(--pk-ink); font-size: 1rem; }

/* 分段控件 = 白胶囊组, 选中 accent */
body.pk .seg { background: var(--pk-panel); border-radius: 999px; padding: 4px; box-shadow: var(--pk-shadow-2); gap: 0; }
body.pk .seg button { background: none; color: var(--pk-ink-2); border-radius: 999px; padding: 7px 14px; font-size: .78rem; font-weight: 800; font-family: system-ui, sans-serif; filter: none; text-shadow: none; min-width: 0; }
body.pk .seg button.on { background: var(--pk-accent); color: #fff; }
body.pk .chk { color: var(--pk-ink-2); font-weight: 700; text-shadow: none; } body.pk .chk input { accent-color: var(--pk-accent); }
body.pk .dex-prog { color: var(--pk-ink); font-weight: 900; text-shadow: none; font-variant-numeric: tabular-nums; }
body.pk .dex-toolbar { margin: 4px 0 10px; gap: 8px; }
body.pk .dex-jump { padding: 2px 0 10px; gap: 6px; }
body.pk .dex-jump button { background: var(--pk-panel); color: var(--pk-ink-2); border-radius: 999px; padding: 7px 14px; box-shadow: var(--pk-shadow-2); font-family: system-ui, sans-serif; font-weight: 800; filter: none; text-shadow: none; min-width: 0; }
body.pk .dex-jump button.on { background: var(--pk-accent); color: #fff; }
body.pk .dex-group h3 { color: var(--pk-ink); text-shadow: none; padding-left: 4px; font-family: "Songti SC","STSong","Noto Serif CJK SC",serif; letter-spacing: .06em; }
body.pk .dex-group h3 small { color: var(--pk-ink-2); }
body.pk .dex-grid { gap: 10px; }
/* 兽卡缩略: Pocket 卡槽 = 白底圆角, 未收服 = 灰底轮廓 */
body.pk .mc { border-radius: 12px; border: 0; background: var(--pk-panel); box-shadow: var(--pk-shadow-2); filter: none; }
body.pk .mc:not(.owned) { background: var(--pk-panel-2); filter: none; }
body.pk .mc .mc-sil { color: rgba(59,58,64,.18); text-shadow: none; background: none; }
body.pk .mc.owned .mc-sil { color: rgba(59,58,64,.45); background: radial-gradient(circle at 50% 42%, rgba(var(--tc), .28), transparent 66%); }
body.pk .mc .mc-no { color: var(--pk-ink-2); } body.pk .mc.owned .mc-no { color: rgba(255,255,255,.85); text-shadow: 0 1px 2px rgba(0,0,0,.5); }
body.pk .mc:not(.owned) .mc-name { color: var(--pk-ink-2); }
body.pk .mc .mc-tier { border-radius: 6px; }
body.pk .mc:not(.owned) .mc-tier, body.pk .mc:not(.owned) .mc-el { opacity: .55; }
body.pk .empty { color: var(--pk-ink-2); text-align: center; padding: 40px 0; font-weight: 700; }

/* 问道: 学科 = 白磁贴 grid; 选中 accent 描边 */
body.pk .quiz-side, body.pk .quiz-main { background: var(--pk-panel) !important; }
body.pk .subj-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; }
body.pk .sb { background: var(--pk-panel-2); border: 2px solid transparent; border-radius: var(--pk-r-md); padding: 10px 4px 9px; filter: none !important; }
body.pk .sb .sb-el { width: 30px; height: 30px; font-size: .9rem; background: rgb(var(--ec)); color: #fff; }
body.pk .sb .sb-n { color: var(--pk-ink); font-family: system-ui, sans-serif; font-size: .84rem; } body.pk .sb .sb-s { color: var(--pk-ink-2); }
body.pk .sb.on { border-color: rgb(var(--ec)); background: var(--pk-panel); box-shadow: var(--pk-shadow-2); }
body.pk .quiz-stat { color: var(--pk-ink-2); } body.pk .quiz-stat b { color: var(--pk-ink); } body.pk .quiz-stat .lit { color: var(--pk-accent); }
body.pk .quiz-empty { color: var(--pk-ink-2); font-family: system-ui, sans-serif; letter-spacing: 0; min-height: 160px; }
body.pk .quiz-main { min-height: 0; }
body.pk .qc-q { color: var(--pk-ink); font-family: system-ui, sans-serif; font-weight: 800; }
body.pk .qc-subj { background: rgb(var(--ec)); border-radius: 999px; }
body.pk .qc-streak { color: var(--pk-accent); }
body.pk .qo { background: var(--pk-panel-2); border: 0; border-radius: var(--pk-r-md); box-shadow: none; color: var(--pk-ink); padding: 13px 14px; }
body.pk .qo:hover { box-shadow: inset 0 0 0 2px var(--pk-accent-2); }
body.pk .qo i { background: var(--pk-panel); color: var(--pk-ink-2); box-shadow: var(--pk-shadow-2); }
body.pk .qo.right { background: var(--pk-ok); color: #fff; filter: none; } body.pk .qo.right i { background: #fff; color: var(--pk-ok); }
body.pk .qo.wrong { background: var(--pk-bad); color: #fff; filter: none; } body.pk .qo.wrong i { background: #fff; color: var(--pk-bad); }
body.pk .qc-why { background: var(--pk-bg-a); border: 0; border-radius: var(--pk-r-md); color: var(--pk-ink); box-shadow: inset 0 0 0 1px var(--pk-line); }
body.pk .btn-primary { height: 50px; padding: 0 28px; }

/* 我: 统计 = 白胶囊格; 设置行 = 分隔线 + 胶囊开关 */
body.pk .stat { background: var(--pk-panel-2); border-radius: var(--pk-r-md); padding: 12px 6px; filter: none; min-height: 0; }
body.pk .stat b { color: var(--pk-ink); font-family: system-ui, sans-serif; font-size: 1.3rem; } body.pk .stat span { color: var(--pk-ink-2); font-size: .66rem; }
body.pk .me-layout .stat-grid { grid-template-columns: repeat(4, 1fr); gap: 8px; }
body.pk .set-row { border-bottom: 1px solid var(--pk-line); padding: 12px 2px; margin: 0; background: none; box-shadow: none; color: var(--pk-ink); border-radius: 0; font-weight: 700; }
body.pk .set-row:last-child { border-bottom: 0; }
body.pk .tog { background: var(--pk-panel-2); color: var(--pk-ink-2); border-radius: 999px; padding: 7px 14px; font-family: system-ui, sans-serif; font-weight: 800; filter: none; text-shadow: none; min-width: 0; font-size: .76rem; white-space: nowrap; }
body.pk .tog.on { background: var(--pk-accent); color: #fff; }
body.pk .set-row.danger .tog { color: var(--pk-bad); }
body.pk .about { color: var(--pk-ink); font-size: .84rem; } body.pk .about.dim { color: var(--pk-ink-2); }

/* 卡包页: 白磁贴一排 5 包 */
body.pk .pack-intro { text-align: center; color: var(--pk-ink-2); text-shadow: none; font-size: .82rem; font-weight: 700; margin: 4px 0 0; }
body.pk .pack-grid { grid-template-columns: repeat(5, 1fr); gap: 8px; margin: 14px 0 16px; align-items: stretch; }
body.pk .pkc { background: var(--pk-panel); border-radius: var(--pk-r-md); padding: 10px 4px 10px; box-shadow: var(--pk-shadow-2); }
body.pk .pkc::after { display: none; }
body.pk .pkc img { width: 88%; filter: drop-shadow(0 6px 8px rgba(80,50,20,.22)); transform: none !important; }
body.pk .pkc.sel { box-shadow: 0 0 0 2.5px var(--pk-accent), var(--pk-shadow-2); }
body.pk .pkc .pk-n { color: var(--pk-ink); font-family: system-ui, sans-serif; font-size: .72rem; text-shadow: none; margin-top: 6px; }
body.pk .pkc .pk-s { color: var(--pk-ink-2); font-size: .58rem; text-shadow: none; }
body.pk .pkc .pk-bar { background: var(--pk-panel-2); height: 5px; border-radius: 3px; margin: 6px 6px 0; overflow: hidden; }
body.pk .pkc .pk-bar i { background: var(--pk-accent); border-radius: 3px; height: 100%; margin: 0; box-shadow: none; }

/* 市集 */
body.pk .shop-item { background: var(--pk-panel) !important; border-radius: var(--pk-r-lg) !important; box-shadow: var(--pk-shadow) !important; border: 0 !important; padding: 44px 14px 16px; }
body.pk .shop-item::after { display: none; }
body.pk .shop-item .si-ic { color: var(--pk-accent); filter: none; }
body.pk .shop-item .si-n { color: var(--pk-ink); font-family: system-ui, sans-serif; letter-spacing: 0; }
body.pk .shop-item .si-d, body.pk .shop-item .si-p { color: var(--pk-ink-2); }
body.pk .shop-item.off { opacity: .55; filter: none; }

/* 卡详情 (暗台保留: Pocket 也是暗底看卡) — 只统一按钮 */
body.pk #card-overlay { background: radial-gradient(ellipse 90% 60% at 50% 20%, #4A3A33 0%, #2B2422 45%, #1E1A19 100%); }
body.pk .co-info h4 { color: var(--pk-accent-2); }
body.pk .co-actions .btn-ghost { background: rgba(255,255,255,.12) !important; color: #fff !important; box-shadow: none !important; }
body.pk .co-top .icon-btn { background: rgba(255,255,255,.12); color: #fff; }

/* 弹层 (sheet) 通用 */
body.pk .sheet-mask { background: rgba(60,40,20,.45); }
body.pk .sheet-box ul, body.pk .sheet-box li { color: var(--pk-ink); }
body.pk .sheet-box .hint { color: var(--pk-ink-2); }
body.pk .sheet-box .btn-primary { width: 100%; }
body.pk .pk-status .bubble { cursor: pointer; }

/* =================== 批 5: Pad (3:4) / PC (16:9) 适配 — Pocket 外推: 内容居中限宽, 手机比例不变 =================== */
@media (min-width: 760px) {
  body.pk #view-home.active { grid-template-rows: 28px minmax(280px, 1fr) auto auto; padding-left: 0; padding-right: 0; }
  body.pk .pk-packs, body.pk .pk-status, body.pk .pk-tiles { width: min(92vw, 560px); margin-left: auto; margin-right: auto; }
  body.pk .pk-packs { --pw: min(200px, calc((100dvh - 460px) * 1115 / 1683)); }
  body.pk .pk-tiles { gap: 16px; }
  body.pk .pk-tile { padding: 22px 12px 18px; }
  html body.pk #nav, html body.pk:not(.in-scene) #nav { left: 50%; right: auto; transform: translateX(-50%); width: min(100vw, 720px); border-radius: var(--pk-r-xl) var(--pk-r-xl) 0 0; }
  body.pk .nav-item { max-width: 140px; }
  body.pk.in-l2 .view { max-width: 960px; padding-left: 24px !important; padding-right: 24px !important; }
  body.pk .card-panel { padding: 20px 22px; }
  body.pk .dex-grid { grid-template-columns: repeat(6, 1fr); gap: 12px; }
  body.pk .pack-grid { max-width: 720px; margin-left: auto; margin-right: auto; }
  body.pk .quiz-layout { grid-template-columns: 300px 1fr; }
  body.pk .me-layout { grid-template-columns: 1fr 1fr; } body.pk .me-layout .card-panel:first-child { grid-column: 1 / -1; }
  body.pk .sheet-box, body.pk .sheet-box.lineup, body.pk .sheet-box.mount, body.pk #sheet-pick .sheet-box { max-width: 560px; padding: 24px 24px 24px; }
  body.pk .stage-hud, body.pk .co-body { max-width: 1100px; margin: 0 auto; }
}
@media (min-width: 1100px) {
  body.pk.in-l2 .view { max-width: 1100px; }
  body.pk .dex-grid { grid-template-columns: repeat(8, 1fr); }
  body.pk .me-layout { grid-template-columns: 1.4fr 1fr 1fr; } body.pk .me-layout .card-panel:first-child { grid-column: auto; }
  /* 擂台 PC: 场面居中限宽, 题板固定右下改为随场面对齐 */
  body.pk .ar-rows, body.pk .ar-mid { max-width: 1100px; margin-left: auto; margin-right: auto; }
}
/* Pad 竖屏: 首页卡包更大, 磁贴两列不拉满 */
@media (min-width: 700px) and (orientation: portrait) {
  body.pk .pk-packs { --pw: min(260px, calc((100dvh - 520px) * 1115 / 1683)); }
  body.pk .pk-packs, body.pk .pk-status, body.pk .pk-tiles { width: min(88vw, 640px); }
}

/* =================== 批 6: kit #236 对齐 — 4 羁绊印 / 队伍战力胶囊 / 孩子可读字号 =================== */
.bond-seals { display: flex; gap: 8px; width: 100%; margin-bottom: 6px; }
.bseal { flex: 1; display: flex; flex-direction: column; align-items: center; gap: 3px; padding: 8px 4px 7px; border-radius: var(--pk-r-md); background: var(--pk-panel-2); color: var(--pk-ink-2); opacity: .55; }
.bseal b { width: 34px; height: 34px; border-radius: 50%; display: flex; align-items: center; justify-content: center; background: var(--pk-panel); color: var(--pk-ink-2); font-family: "Songti SC","STSong","Noto Serif CJK SC",serif; font-size: 1.05rem; font-weight: 900; box-shadow: var(--pk-shadow-2); }
.bseal small { font-size: .74rem; font-weight: 800; }
.bseal.on { opacity: 1; background: var(--pk-panel); box-shadow: 0 0 0 2px var(--pk-accent), var(--pk-shadow-2); color: var(--pk-ink); }
.bseal.on b { background: var(--pk-accent); color: #fff; }
.bseal.on.idle { box-shadow: var(--pk-shadow-2); opacity: .8; } .bseal.on.idle b { background: var(--pk-accent-2); }
body.pk .line-bond .bond { font-size: .84rem; padding: 6px 12px; }
body.pk #line-team-power { margin-right: auto; }
body.pk .line-btns { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
/* 孩子可读: 说明字 ≥14px, 战斗 HP/能量 ≥16px (kit #236 ④) */
body.pk .hint, body.pk .sub, body.pk .pk-tile small, body.pk .quiz-stat, body.pk .stat span, body.pk .pkc .pk-n, body.pk .qc-why, body.pk .about, body.pk .jn-info .hint, body.pk .jn-mile, body.pk .ls-nm, body.pk .mc .mc-name { font-size: max(.875rem, 14px); }
body.pk .pkc .pk-s, body.pk .mc .mc-no, body.pk .mc .mc-tier { font-size: .7rem; }
body.pk .nav-item { font-size: .76rem; }
body.pk .ac-name { font-size: max(1rem, 16px); }
body.pk .ac-pips i { width: 14px; height: 14px; }
body.pk .ac-hp { height: 8px; }
body.pk .pb-log p, body.pk .ib-txt, body.pk .qb-q { font-size: max(.95rem, 15px); }
body.pk .ac-float { font-size: max(1.2rem, 18px); }
.bseal small i { display: block; font-style: normal; font-size: .66rem; color: var(--pk-ink-2); }
body.pk .ls .ls-tag { font-size: .66rem; white-space: nowrap; padding: 1px 6px; }
.shop-zone { grid-column: 1 / -1; margin: 6px 0 -4px; font-family: "Songti SC","STSong","Noto Serif CJK SC",serif; font-size: 1rem; font-weight: 900; color: var(--pk-ink); letter-spacing: .06em; }
.shop-zone:first-child { margin-top: 0; }
/* 擂台 PC 横屏: 题板贴右侧垂直居中的白卡, 场面居中不散 */
@media (min-width: 900px) and (orientation: landscape) {
  body.pk #arena { justify-content: center; gap: 24px; }
  body.pk #arena > .ar-top { position: absolute; left: 0; right: 0; top: 0; z-index: 3; padding: 18px 24px 0; gap: 12px; }
  body.pk .ar-title { flex: 0 0 auto; text-align: left; white-space: nowrap; font-size: 1.15rem; } body.pk .ar-title small { display: inline; margin-left: 8px; }
  body.pk .ar-round { margin-left: auto; }
  body.pk .ar-desk { flex: 0 1 900px; padding: 80px 24px 24px; }
  body.pk .ar-board { flex: 0 0 400px; justify-content: center; align-items: center; padding: 80px 24px 24px 0; }
  body.pk .ar-board > * { max-height: 70vh; }
  body.pk .qb, body.pk .ib, body.pk .pb { border-radius: var(--pk-r-xl) !important; box-shadow: var(--pk-shadow) !important; }
  body.pk .ac { width: var(--cw, min(24%, 190px)); }
}
/* 御兽师头像 (ui/avatar/av1–6, nano 生成, 零文字): HUD 圆钮 + 我页选择行 */
body.pk .hud-avatar .av-ring { background: center / cover no-repeat; box-shadow: none; }
.av-row { display: flex; gap: 10px; margin-bottom: 14px; overflow-x: auto; scrollbar-width: none; padding: 4px 2px; } .av-row::-webkit-scrollbar { display: none; }
.av-pick { flex: 0 0 auto; width: 56px; height: 56px; border-radius: 50%; border: 0; background: var(--pk-panel-2) center / cover no-repeat; box-shadow: var(--pk-shadow-2); opacity: .7; transition: transform .1s; }
.av-pick.on { opacity: 1; box-shadow: 0 0 0 3px var(--pk-accent), var(--pk-shadow-2); transform: scale(1.06); }
/* 巡守归来 弹层 */
.idle-team { display: flex; gap: 10px; justify-content: center; margin: 10px 0 14px; } .idle-team .ls { width: 84px; }
.idle-gain { display: flex; gap: 10px; justify-content: center; flex-wrap: wrap; margin-bottom: 16px; }
body.pk #line-handi.on { background: var(--pk-accent-2) !important; color: #fff !important; }
/* 同屋对决: 两块题板压缩, 不遮卡 */
body.pk #arena.f2f .ar-board, body.pk #arena.f2f .ar-board.foe { max-height: 26vh; min-height: 0; padding: 6px 10px; }
body.pk #arena.f2f .qb, body.pk #arena.f2f .ib, body.pk #arena.f2f .pb { padding: 12px 14px 14px !important; border-radius: var(--pk-r-lg) !important; }
body.pk #arena.f2f .qb-q { font-size: max(.9rem, 14px); margin-bottom: 8px; }
body.pk #arena.f2f .qb-opts .qo { padding: 9px 12px; }
body.pk #arena.f2f .ar-desk { padding-top: 6px; padding-bottom: 6px; }
body.pk #arena.f2f .ac { width: min(24%, 150px); }
@media (min-width: 600px) and (orientation: portrait) { body.pk #arena.f2f .ac { width: min(23%, 165px); } body.pk #arena.f2f .ar-row { gap: 14px; } }
.idle-events { width: 100%; display: flex; flex-direction: column; gap: 8px; margin-top: 10px; }
.idle-ev { display: flex; gap: 10px; align-items: flex-start; background: var(--pk-panel-2); border-radius: var(--pk-r-md); padding: 10px 12px; text-align: left; }
.idle-ev i { flex: 0 0 44px; width: 44px; height: 44px; border-radius: 50%; background: var(--pk-panel) center / cover no-repeat; box-shadow: var(--pk-shadow-2); } .idle-ev i.unk { opacity: .5; }
.idle-ev b { display: block; font-size: .84rem; color: var(--pk-ink); margin-bottom: 2px; } .idle-ev p { margin: 0; font-family: "Songti SC","STSong","Noto Serif CJK SC",serif; font-size: max(.86rem, 14px); line-height: 1.5; color: var(--pk-ink); }
/* 大关门 节点 */
body.pk .jn-node.gate .jn-stele { background: var(--pk-ink) !important; color: #FFE2B8 !important; width: 84px; height: 84px; }
body.pk .jn-node.gate.lock .jn-stele { background: var(--pk-panel-2) !important; color: var(--pk-ink-2) !important; }
body.pk .jn-node.gate .jn-beasts i.godm { background-color: rgba(var(--ec), .25); }
/* 洞府 v0 · 学习报告 */
.rp-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; margin-bottom: 12px; }
.rp-radar { display: flex; flex-direction: column; align-items: center; gap: 6px; }
.radar { width: min(100%, 300px); height: auto; }
.radar .rg { fill: none; stroke: var(--pk-line); stroke-width: 1.2; }
.radar .rv { fill: rgba(240,138,36,.28); stroke: var(--pk-accent); stroke-width: 2.2; stroke-linejoin: round; }
@media (max-width: 479px) { .rp-grid { grid-template-columns: repeat(2, 1fr); } }
body.pk .me-layout .card-panel, body.pk .quiz-layout > * { min-width: 0; }
.av-row { max-width: 100%; }
body.pk .me-layout .stat-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.rp-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
/* 神状环 (fx_god/<神状>.webp, screen 叠在暗底): 山神卡 / 节点小图 / 叩关卡 */
.ac-god { overflow: hidden; }
.ac-god-ring { position: absolute; inset: 0; background: center / 118% no-repeat; mix-blend-mode: screen; opacity: .95; pointer-events: none; animation: god-ring-spin 24s linear infinite; }
.ac-god.has-ring .ac-god-mask { position: relative; z-index: 1; width: 56%; }
.ac-god.has-ring b, .ac-god.has-ring small { position: relative; z-index: 1; }
@keyframes god-ring-spin { to { transform: rotate(360deg); } }
.jn-beasts i.godm.ring, .ls-img.godm.ring { background-color: #2B2422 !important; background-image: var(--ring), url(/static/ui/kit2/icon_godmask.webp) !important; background-size: 150%, 52% !important; background-position: center, center !important; background-blend-mode: screen, normal; }
/* 传手机 遮罩 */
html body.pk #arena > .ar-handoff, .ar-handoff { position: absolute !important; inset: 0; z-index: 400; display: flex; align-items: center; justify-content: center; background: rgba(59,58,64,.82); backdrop-filter: blur(14px); animation: ho-in .25s ease-out; }
.ar-handoff.out { opacity: 0; transition: opacity .25s; }
.ho-box { display: flex; flex-direction: column; align-items: center; gap: 8px; color: #fff; text-align: center; }
.ho-box b { width: 96px; height: 96px; border-radius: 50%; background: var(--pk-accent); display: flex; align-items: center; justify-content: center; font-family: "Songti SC","STSong","Noto Serif CJK SC",serif; font-size: 2.6rem; font-weight: 900; box-shadow: 0 10px 30px rgba(240,138,36,.45); }
.ho-box span { font-size: 1.1rem; font-weight: 800; } .ho-box small { font-size: .84rem; opacity: .75; }
@keyframes ho-in { from { opacity: 0; } }
body.pk #arena.pass .ar-row.foe { transform: none; }

/* 云存档状态胶囊 (kit #268 预埋; 无登录态 hidden) */
body.pk .me-cloud { display: inline-flex; align-items: center; gap: 6px; margin: 4px 0 10px; padding: 5px 12px; border-radius: 999px; font-size: 13px; font-weight: 700; background: var(--pk-panel-2); color: var(--pk-ink-2); }
body.pk .me-cloud::before { content: ''; width: 8px; height: 8px; border-radius: 50%; background: #B9B3AE; }
body.pk .me-cloud[data-st=ok]::before { background: var(--pk-ok); } body.pk .me-cloud[data-st=sync]::before { background: var(--pk-accent); animation: pkPulse 1s infinite alternate; } body.pk .me-cloud[data-st=err]::before { background: var(--pk-bad); }
@keyframes pkPulse { from { opacity: .4 } to { opacity: 1 } }

/* 兽录搜索框 */
body.pk .dex-search { padding: 0 16px 8px; }
body.pk .dex-search input { width: 100%; box-sizing: border-box; height: 42px; padding: 0 16px 0 40px; border: 0; border-radius: 999px; background: var(--pk-panel) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238A8378' stroke-width='2.2' stroke-linecap='round'><circle cx='11' cy='11' r='7'/><path d='M20 20l-3.5-3.5'/></svg>") 14px center/18px no-repeat; color: var(--pk-ink); font-size: 15px; font-weight: 700; box-shadow: 0 2px 8px rgba(80,50,20,.08); outline: none; }
body.pk .dex-search input:focus { box-shadow: 0 0 0 2px var(--pk-accent); }
@media (min-width:760px) { body.pk .dex-search { width: min(100%, 720px); margin: 0 auto; } }

/* =================== 批 7: 首页英雄区几何重做 (用户实机: 手机/Pad 卡包大小不一致) ===================
   根因: header 绝对定位不占格 → .pk-packs 落进 28px 第 1 行, .pk-status 抢走 1fr. 现显式指定 grid-row,
   卡包区成为容器 (container-type:size), 卡包宽度 = min(宽度比例, 容器高度换算), 三端同一套比例. */
body.pk #view-home.active { grid-template-rows: 28px minmax(220px, 1fr) auto auto !important; }
body.pk .pk-packs { grid-row: 2; grid-column: 1; container-type: size; min-height: 0 !important; height: auto; transform: none; align-self: stretch; }
body.pk .pk-status { grid-row: 3; grid-column: 1; margin: 12px auto 16px; }
body.pk .pk-tiles { grid-row: 4; grid-column: 1; }
/* 卡包宽: 手机 46vw ≤ 230; 容器高度 84% 换算 (1115×1683 卡包比) — 哪个小取哪个 */
body.pk .pk-packs { --pw: min(46vw, 230px, calc(84cqh * 1115 / 1683)); }
body.pk .pack-ring .pc { width: var(--pw) !important; }
@media (min-width: 700px) and (orientation: portrait) { body.pk .pk-packs { --pw: min(36vw, 320px, calc(84cqh * 1115 / 1683)); } }
@media (min-width: 760px) and (orientation: landscape) { body.pk .pk-packs { --pw: min(22vw, 260px, calc(84cqh * 1115 / 1683)); } }
/* Pad/PC 磁贴: 更饱满, 图标更大 */
@media (min-width: 700px) { body.pk .pk-tile { padding: 26px 12px 22px; gap: 6px; } body.pk .pk-tile .ni { width: 56px; height: 56px; } body.pk .pk-tile span { font-size: 1.15rem; } body.pk .pk-tile small { font-size: .95rem; } body.pk .pk-status .pk-pill { font-size: 1rem; padding: 10px 18px; } }
/* Pad 竖屏精细化: 不用 zoom (破坏 dvh/fixed). 手机端信息密度不变, 字号/控件/圆钮按 1.15 等比放大 */
@media (min-width: 700px) and (max-width: 1100px) and (orientation: portrait) {
  html body.pk { font-size: 18px; --pk-tab-h: 84px; }
  body.pk .pk-round { width: 52px; height: 52px; } body.pk .pk-round.sm { width: 46px; height: 46px; } body.pk .pi { width: 24px; height: 24px; }
  body.pk .pk-pill { font-size: 1rem; padding: 10px 18px; } body.pk .pk-pill.sm { padding: 8px 14px; }
  body.pk .l2-title { font-size: 1.5rem; } body.pk .l2-title small { font-size: .8rem; }
  body.pk .card-panel { padding: 22px 24px; border-radius: 24px; } body.pk .card-panel h3 { font-size: 1.2rem; }
  body.pk .pack-grid .pg { border-radius: 20px; }
  body.pk .dex-grid { grid-template-columns: repeat(5, 1fr); gap: 14px; } body.pk .mc { border-radius: 16px; } body.pk .mc .mc-name { font-size: .95rem; } body.pk .mc .mc-no, body.pk .mc .mc-tier { font-size: .7rem; }
  body.pk .dex-toolbar { font-size: 1rem; } body.pk .seg button { padding: 9px 16px; font-size: .95rem; } body.pk .dex-jump button { padding: 8px 14px; font-size: .95rem; }
  body.pk .dex-search input { height: 48px; font-size: 1.05rem; }
  body.pk .quiz-layout { grid-template-columns: 1fr; } body.pk .qc-q { font-size: 1.25rem; line-height: 1.6; } body.pk .qc-opts .qo { padding: 16px 18px; font-size: 1.05rem; } body.pk .sb { padding: 14px 8px; } body.pk .sb b { font-size: 1.05rem; }
  body.pk .shop-grid { grid-template-columns: repeat(3, 1fr); gap: 16px; } body.pk .shop-item { padding: 22px 14px; } body.pk .shop-item .si-n { font-size: 1.15rem; } body.pk .shop-item .si-s { font-size: .82rem; } body.pk .shop-item .si-ic { width: 34px; height: 34px; }
  body.pk .me-layout { grid-template-columns: 1fr 1fr; gap: 18px; } body.pk .stat-grid b { font-size: 1.6rem; } body.pk .av-pick { width: 64px; height: 64px; }
  body.pk .nav-item { font-size: .9rem; } body.pk .nav-item .pi, body.pk .nav-item i { width: 30px; height: 30px; }
  body.pk .sheet-box { padding: 26px 26px 28px; font-size: 1rem; } body.pk .btn-primary { padding: 15px 22px; font-size: 1.1rem; border-radius: 999px; }
  body.pk .toast { font-size: 1rem; padding: 12px 20px; }
}
/* 排兵单按钮行: 辅助按钮一行 (可换行), 开打独占一行全宽 (Pocket 主按钮) */
body.pk .line-btns { flex-wrap: wrap; row-gap: 12px; }
body.pk .line-btns #line-go { flex: 1 0 100%; display: flex; justify-content: center; align-items: center; padding: 15px 0 !important; font-size: 1.1rem !important; order: 9; text-align: center; }
body.pk .line-btns .btn-ghost.sm { padding: 8px 14px; border-radius: 999px; background: var(--pk-panel-2); color: var(--pk-ink); font-weight: 700; border: 0; }
body.pk .line-btns .btn-ghost.sm.on { background: var(--pk-ink); color: #fff; }

/* =================== 登录门 (cloud.js; Pocket 单层白卡) =================== */
.rv-gate { position: fixed; inset: 0; z-index: 500; display: flex; align-items: center; justify-content: center; padding: 20px; background: linear-gradient(180deg, var(--pk-bg-a), var(--pk-bg-b)); }
.rv-gate.hidden { display: none; }
.rvg-box { width: min(100%, 400px); background: var(--pk-panel); border-radius: var(--pk-r-xl); box-shadow: var(--pk-shadow); padding: 30px 26px 24px; display: flex; flex-direction: column; gap: 12px; text-align: center; color: var(--pk-ink); }
.rvg-logo { width: 84px; height: 84px; margin: 0 auto 2px; border-radius: 50%; background: var(--pk-accent) url(/static/ui/avatar/av1@1x.webp) center / cover; box-shadow: 0 8px 22px rgba(240,138,36,.35); }
.rvg-box h2 { margin: 0; font-family: "Songti SC","STSong","Noto Serif CJK SC",serif; font-size: 1.6rem; letter-spacing: .08em; }
.rvg-sub { margin: -4px 0 6px; font-size: .9rem; color: var(--pk-ink-2); }
.rvg-f { display: flex; flex-direction: column; gap: 6px; text-align: left; font-size: .85rem; font-weight: 700; color: var(--pk-ink-2); }
.rvg-f input { height: 48px; border: 0; border-radius: 14px; padding: 0 16px; background: var(--pk-panel-2); font-size: 1.05rem; font-weight: 700; color: var(--pk-ink); outline: none; }
.rvg-f input:focus { box-shadow: 0 0 0 2px var(--pk-accent); }
.rvg-err { font-size: .9rem; color: var(--pk-bad); font-weight: 700; } .rvg-err.hidden { display: none; }
.rv-gate .btn-primary { width: 100%; height: 52px; border-radius: 999px; font-size: 1.1rem; margin-top: 4px; }
.rvg-skip { background: none; border: 0; color: var(--pk-ink-2); font-size: .9rem; font-weight: 700; padding: 6px; text-decoration: underline; text-underline-offset: 3px; }
.rvg-kids { border-top: 1px solid var(--pk-line); padding-top: 12px; } .rvg-kids.hidden { display: none; } .rvg-kids p { margin: 0 0 10px; font-weight: 800; }
.rvg-kid-row { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; }
.rvg-kid { display: flex; flex-direction: column; align-items: center; gap: 6px; padding: 12px 18px; border: 0; border-radius: var(--pk-r-md); background: var(--pk-panel-2); color: var(--pk-ink); font-weight: 800; }
.rvg-kid i { width: 52px; height: 52px; border-radius: 50%; background: var(--pk-accent); color: #fff; font-style: normal; font-size: 1.4rem; display: flex; align-items: center; justify-content: center; font-family: "Songti SC","STSong","Noto Serif CJK SC",serif; }
.rvg-kid:active { transform: scale(.96); }
body.pk .set-row .tog:disabled { opacity: .55; }
