/* 星露 Wiki · blue-cg 版式组件（只新增类名，沿用 wiki.css 的变量与主题；不覆盖 wiki.css / 字体）
   规范见 .claude/skills/xinglu-wiki-layout/SKILL.md */

/* 图标格：道具/宠物排成格子，名称在图下，数量在名称后 */
.igrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:6px;margin:4px 0 10px}
.igrid.big{grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}
.ig{display:flex;flex-direction:column;align-items:center;gap:2px;border:1px solid var(--line);background:#fff;padding:6px 4px;text-align:center;font-size:12.5px;color:var(--tx);line-height:1.35}
.ig:hover{border-color:var(--link);text-decoration:none}
.ig .im{height:40px;display:grid;place-items:center}
.ig .im img{max-height:40px;max-width:80px;image-rendering:pixelated}
.igrid.big .ig .im{height:72px}
.igrid.big .ig .im img{max-height:72px;max-width:110px}
.ig .nm b{color:var(--orange);margin-left:2px;font-weight:700}
.ig .sub{font-size:11px;color:var(--tx3)}
td .igrid{margin:0;grid-template-columns:repeat(auto-fill,minmax(84px,1fr))}
td .ig{padding:3px 2px;font-size:12px}
td .ig .im{height:30px}
td .ig .im img{max-height:30px}

/* 任务页 */
.qnav{display:flex;justify-content:space-between;gap:8px;font-size:13px;margin:0 0 6px;padding:6px 10px;background:var(--th);border:1px solid var(--line)}
.qstep{border:1px solid var(--line);margin:0 0 8px;background:#fff}
.qstep .qh{display:flex;align-items:baseline;gap:10px;padding:5px 10px;background:var(--th);border-bottom:1px solid var(--line2)}
.qstep .qh>b{display:inline-block;min-width:22px;height:22px;line-height:22px;text-align:center;border-radius:11px;background:var(--navy);color:#fff;font-size:12px}
.qstep ul{margin:6px 0 6px 0;padding-left:30px}
.qstep li{margin:2px 0}
.qstep li.qc{color:var(--tx2);font-size:12.5px;list-style:none;margin-left:-14px}
.sub2{display:block;font-size:11.5px;color:var(--tx3)}
.qstep .qh .sub2{display:inline;margin-left:4px}
table.qrw th{width:70px}

/* 内部数据（仅编辑者可见） */
.hidebox{margin:14px 0;border:1px dashed var(--line);background:#fafbfc;font-size:12px}
.hidebox>summary{cursor:pointer;padding:5px 10px;color:var(--tx2)}
.hidebox pre{margin:0;padding:8px 10px;white-space:pre-wrap;word-break:break-all;max-height:420px;overflow:auto;font:12px var(--mono)}

/* 配方卡（blue-cg：产物一行 + 材料 / 能力 / 配方来源） */
.rcard{border:1px solid var(--line);background:#fff;margin:0 0 10px}
.rcard .rh{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:6px 10px;background:var(--th);border-bottom:1px solid var(--line);font-size:13px}
.rcard .rh>a.e{font-weight:700;font-size:14px}
.rcard .rh .sp{flex:1}
.rcard .rh b{color:var(--navy)}
.rcard .rb{display:flex;gap:10px;align-items:flex-start;padding:5px 10px;border-top:1px dashed var(--line);font-size:13px}
.rcard .rb:first-of-type{border-top:0}
.rcard .rl{flex:0 0 40px;color:var(--tx2);font-weight:700;padding-top:3px}
.rcard .rb .igrid{flex:1;margin:0;grid-template-columns:repeat(auto-fill,minmax(88px,1fr))}
.rcard .rst{display:flex;flex-wrap:wrap;gap:4px 14px;padding-top:2px}
.rcard .rst b{color:var(--orange)}
.rcard .rsrc{padding-top:2px}

/* 地区卡片（地图一览） */
.rgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:6px;margin:0 0 12px}
.rgc{display:flex;flex-direction:column;gap:2px;border:1px solid var(--line);background:#fff;padding:8px 10px;color:var(--tx)}
.rgc:hover{border-color:var(--link);text-decoration:none}
.rgc b{color:var(--navy);font-size:14px}
.rgc span{font-size:11.5px;color:var(--tx3)}

/* 地图名列表（出没地图等） */
.mlist{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:2px 12px;padding-left:18px}
.mlist .sub2{display:inline;margin-left:4px}

/* 道具能力表 / 功能页导语 */
table.info.abl th{width:90px}
p.lead{font-size:14px;padding:8px 12px;background:var(--th);border-left:3px solid var(--navy)}

/* 大标题底纹铺满整条（wiki.css 里底纹是 auto 100% 不重复，短标题栏只铺到约 150px，后面露出纯色；这里只改最后一层的尺寸/位置） */
.ttl,.art h2{background-size:11px 18px,4px 4px,11px 11px,4px 4px,4px 4px,4px 4px,4px 4px,4px 4px,4px 4px,cover;
  background-position:0 center,0 0,right 0,0 bottom,right bottom,0 0,0 bottom,0 0,right 0,center center}

.gbar a.op[hidden]{display:none}

/* 分页器：页码 / 当前页 / 跳转 */
.pager{flex-wrap:wrap;gap:6px}
.pager button{padding:2px 10px;min-width:32px}
.pager button.on{opacity:1;background:var(--navy);border-color:var(--navy);color:#fff;font-weight:bold}
.pager .gap{color:var(--tx3);padding:0 2px}
.pager .pj{margin-left:10px;color:var(--tx2);display:inline-flex;align-items:center;gap:4px}
.pager .pj input{width:56px;padding:2px 4px;border:1px solid var(--line);text-align:center;font:inherit}
.pager .ps{margin-left:10px;color:var(--tx2);display:inline-flex;align-items:center;gap:4px}
.pager .ps select{padding:1px 4px;border:1px solid var(--line);font:inherit;background:#fff}

/* 装备展示（W.equipTable / {{套装}}）：能力项横排小块，数值加粗 */
.eqst{display:flex;flex-wrap:wrap;gap:2px 10px;font-size:12.5px;line-height:1.6}
.eqst span{white-space:nowrap}
.eqst b{color:var(--navy)}
.tplbox{min-height:20px}

/* 地图大预览（tools/map_preview.py） */
.mvleg{display:flex;flex-wrap:wrap;gap:4px 14px;padding:6px 10px;background:var(--th);font-size:12px;color:var(--tx2);border-top:1px solid var(--line)}
.mvleg span{display:inline-flex;align-items:center;gap:4px}
.mvleg i{display:inline-block;width:12px;height:12px;border-radius:50%;font-style:normal}
.mvleg i.w{background:#27ae60;color:#fff;font-size:9px;line-height:12px;text-align:center}
.mvleg i.g{border-radius:2px;background:rgba(211,84,0,.45);border:1px solid #d35400}
.mvleg i.e{border-radius:2px;border:2px solid #e74c3c}
.mvleg em{margin-left:auto;font-style:normal;color:var(--tx3)}
.mvno{display:inline-block;min-width:20px;height:20px;padding:0 4px;border-radius:10px;color:#fff;font-size:11px;font-weight:bold;line-height:20px;text-align:center;box-sizing:border-box}
.mvdot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#7f8c8d;margin-left:6px}

/* 大地图互动版（pages.js mapViewer） */
.mvw{margin:10px 0 14px;border:1px solid var(--line);background:#1d2030}
.mvw.full{position:fixed;inset:10px;z-index:9999;margin:0;box-shadow:0 0 0 100vmax rgba(0,0,0,.6)}
.mvbar{display:flex;flex-wrap:wrap;align-items:center;gap:5px;padding:6px 8px;background:var(--th);border-bottom:1px solid var(--line)}
.mvc{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--tx3);font-size:12px;cursor:pointer;opacity:.55}
.mvc.on{opacity:1;color:var(--tx2);border-color:#999}
.mvc i{width:10px;height:10px;border-radius:50%;display:inline-block}
.mvc i.g{border-radius:2px;background:rgba(211,84,0,.5);border:1px solid #d35400}
.mvc b{font-weight:normal;color:var(--tx3);font-size:11px}
.mvq{margin-left:auto;width:150px;padding:2px 6px;font-size:12px}
.mvtools button{padding:1px 7px;font-size:12px;cursor:pointer}
.mvstage{position:relative;overflow:hidden;cursor:grab;touch-action:none;user-select:none}
.mvstage:active{cursor:grabbing}
.mvpan{position:absolute;left:0;top:0;transform-origin:0 0;--iz:1}
.mvpan img,.mvpan svg{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none}
.mvpan svg .mva{pointer-events:auto}
.mvmk{position:absolute;inset:0}
.mvm{position:absolute;width:0;height:0;text-decoration:none}
.mvm i{position:absolute;left:0;top:0;min-width:20px;height:20px;padding:0 3px;box-sizing:border-box;border-radius:10px;background:var(--c);border:2px solid #fff;color:#fff;font:bold 10px/16px sans-serif;text-align:center;font-style:normal;
  transform:translate(-50%,-50%) scale(var(--iz));box-shadow:0 1px 3px rgba(0,0,0,.6);white-space:nowrap}
.mvm.w i{border-radius:3px}
.mvm.s i{min-width:9px;width:9px;height:9px;padding:0;border-width:1px}
.mvm span{display:none;position:absolute;left:0;top:0;transform:scale(var(--iz)) translate(13px,-50%);transform-origin:0 0;white-space:nowrap;
  background:rgba(20,24,38,.88);color:#fff;font-size:12px;line-height:18px;padding:1px 7px 1px 6px;border-radius:9px;border-left:3px solid var(--c);pointer-events:none}
.mvm span em{font-style:normal;color:#ffd678;margin-left:5px;font-size:11px}
.mvm.lb span{display:block}
.mvm:hover{z-index:5}.mvm:hover span{display:block}
.mvm.hit i{animation:mvhit 1s infinite;z-index:6}
@keyframes mvhit{50%{box-shadow:0 0 0 6px rgba(255,214,120,.7)}}
.mvtip{display:none;position:absolute;z-index:10;transform:translate(-50%,calc(-100% - 14px));background:#fff;color:#222;border:1px solid #999;border-radius:4px;padding:4px 8px;font-size:12px;line-height:1.5;white-space:nowrap;pointer-events:none;box-shadow:0 2px 6px rgba(0,0,0,.3)}
.mvw .mvleg{border-top:1px solid var(--line)}
.mvno[data-mvf]{cursor:pointer}
.mvw.lod0 .mvm i{min-width:11px;width:11px;height:11px;padding:0;font-size:0;border-width:1.5px}
.mvw.lod0 .mvm.s i{min-width:6px;width:6px;height:6px;border-width:1px}

/* 资料大图不超出图框（配合 pages.js ptFit 按框缩放；wiki.css 的固定放大倍数会溢出） */
.portrait{overflow:hidden}

/* 宠物成长档（pages.js gRadar / gBars / gStack；用户定案 2026-10-21：详情 = 雷达+大字+刻度条，列表 = 140 封顶堆叠条） */
.pg-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;align-items:stretch;margin:0 0 18px}
@media (max-width:900px){.pg-grid{grid-template-columns:1fr}}
.pg-card{border:1px solid var(--line);border-radius:4px;padding:14px 18px;background:#fff;display:flex;flex-direction:column}
.pg-card.pg-ab{padding:0;overflow:hidden}
.pg-head{display:flex;flex-wrap:wrap;gap:6px 18px;align-items:center;margin-bottom:8px}
.pg-head>svg{flex:0 0 210px}.pg-head>div{flex:1 1 190px;min-width:0}
.pg-big{font:800 42px var(--mono);color:var(--navy);line-height:1;margin-bottom:10px;white-space:nowrap}
.pg-big small{font-size:15px;color:var(--tx3);font-weight:400}
.pg-line{display:flex;align-items:center;gap:8px;margin-bottom:6px;white-space:nowrap}
.pg-sub{font-size:12px;color:var(--tx3);line-height:1.8}
.pg-tier{display:inline-block;padding:1px 9px;border-radius:10px;font-size:12px;font-weight:700;color:#fff}
.pg-tier.t0{background:#95a5a6}.pg-tier.t1{background:#3a8dde}.pg-tier.t2{background:#8e44ad}.pg-tier.t3{background:#e67e22}
.pg-tier.t4{background:linear-gradient(90deg,#d4a017,#e8cf8f);color:#3a2a00}
.pg-row,.pg-ax{display:grid;grid-template-columns:40px minmax(0,1fr) 36px;align-items:center;gap:12px}
.pg-row{height:28px;font-size:13.5px}
.pg-row .tr{position:relative;height:10px;background:#e8ebf2;border-radius:5px}
.pg-row .tr i{position:absolute;left:0;top:0;bottom:0;border-radius:5px}
.pg-row .tr b{position:absolute;top:-4px;bottom:-4px;width:2px;margin-left:-1px;background:#1c2240;opacity:.45}
.pg-row .v{text-align:right;font:700 14px var(--mono)}
.pg-row.pg-tot{margin-top:8px;padding-top:8px;height:38px;border-top:1px dashed var(--line);font-weight:700}
.pg-tot .tr{height:12px;border-radius:6px;background:linear-gradient(90deg,#dfe3ea 0 78.6%,#d6e6f7 78.6% 84.3%,#e6dcf0 84.3% 89.3%,#f7e3cf 89.3% 92.9%,#f6ecc9 92.9%)}
.pg-tot .tr i{border-radius:6px;background:var(--navy)}
.pg-ax>div{position:relative;height:16px;font:11px var(--mono);color:var(--tx3);white-space:nowrap}
.pg-ax>div span{position:absolute;top:0;transform:translateX(-50%)}
.pg-ax>div span:first-child{transform:none}.pg-ax>div span:last-child{transform:translateX(-100%)}
.pg-abl{width:100%;height:100%;border-collapse:collapse;margin:0}
.pg-abl th,.pg-abl td{border-bottom:1px solid var(--line);padding:6px 14px;font-size:14px}
.pg-abl tr:last-child th,.pg-abl tr:last-child td{border-bottom:0}
.pg-abl thead th{background:var(--th);text-align:center;font-weight:700}
.pg-abl tbody th{background:var(--th);text-align:left;font-weight:400;width:34%}
.pg-abl td{text-align:center;font-family:var(--mono);width:33%}
.pg-abl td+td{border-left:1px solid var(--line)}
.pg-stack{display:flex;align-items:center;gap:8px;min-width:230px}
.pg-stack .st{flex:1;display:flex;height:18px;border-radius:4px;overflow:hidden;background:#eef0f5}
.pg-stack .st i{display:flex;align-items:center;justify-content:center;color:#fff;font:700 11px var(--mono);font-style:normal;overflow:hidden;white-space:nowrap}
.pg-stack b{font:700 14px var(--mono);min-width:28px;text-align:right}
/* 宠物一览：列表 / 图档 切换（2026-10-21） */
.bar .sp{flex:1}
.g-view{display:inline-flex;border:1px solid var(--line);border-radius:3px;overflow:hidden}
.g-view a{padding:5px 14px;font-size:13px;color:var(--tx2);cursor:pointer;background:#fff;user-select:none}
.g-view a+a{border-left:1px solid var(--line)}
.g-view a.on{background:var(--navy);color:#fff}
.g-sort{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:0 0 10px;font-size:13px;color:var(--tx3)}
.g-sort a{padding:3px 10px;border:1px solid var(--line);border-radius:12px;color:var(--tx2);cursor:pointer;background:#fff}
.g-sort a.asc,.g-sort a.desc{background:var(--th);color:var(--navy);font-weight:700;border-color:#b9c3d8}
.g-sort a.asc::after{content:' ▲';font-size:10px}.g-sort a.desc::after{content:' ▼';font-size:10px}
.g-gal{display:grid;grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:8px;margin-bottom:10px}
.g-gal .empty{grid-column:1/-1;padding:20px;text-align:center;color:var(--tx3)}
.g-card{display:flex;flex-direction:column;align-items:center;border:1px solid var(--line);background:#fff;padding:6px 4px 7px;text-decoration:none;transition:border-color .12s,box-shadow .12s}
.g-card:hover{border-color:#9fb0cf;box-shadow:0 2px 10px rgba(20,30,60,.15)}
.g-card .im{height:96px;width:100%;display:flex;align-items:center;justify-content:center;overflow:hidden}
.g-card .im img{max-width:100%;max-height:96px}
.g-card .nm{font-size:13px;color:var(--link);margin-top:4px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.g-card.boss .nm{color:var(--red)}
.g-card .sub{font:11px var(--mono);color:var(--tx3)}
#tip .kv .tip-sep{margin-top:4px;padding-top:4px;border-top:1px dashed var(--line);color:var(--navy);font-weight:700}
/* 列表「每页：全部」= 瀑布流续载提示 */
.wf-more{text-align:center;padding:14px 0 6px;font-size:12.5px;color:var(--tx3)}
