.rbook{
--paper:#efe4ca;--paper-edge1:#ddcda9;--paper-edge2:#cbb98f;
--ink:#2a2015;--ink-dim:#45372a;--ink-mute:#6a5538;--rule:rgba(74,52,28,.28);
--seal:#a8342a;--seal-ink:#f7ead0;--mark:rgba(168,52,42,.16);
--burn:rgba(122,76,28,.30);--spine:rgba(90,56,22,.10);--spine-deep:rgba(60,34,10,.30);
--plate:#e4d4b2;--plate-grain:.55;--plate-vig:rgba(110,72,30,.38);--label-bg:rgba(246,238,220,.94);
--ow:#3a6537;--ne:#89401f;--en:#5d4294;--lamp:rgba(255,236,190,.22);
--desk-title:#2a2118;--desk-eyebrow:#8f6c35;--desk-glow:rgba(170,120,40,.12);--sheet-shadow:rgba(70,45,15,.38);
--grain:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .42 0 0 0 0 .3 0 0 0 0 .16 0 0 0 .5 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
--stain:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='900' height='900'%3E%3Cfilter id='s'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.006' numOctaves='3' seed='7' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .45 0 0 0 0 .3 0 0 0 0 .12 0 0 0 .9 -.32'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23s)'/%3E%3C/svg%3E");
--sheet-stain:var(--stain);--sheet-grain:var(--grain);--sheet-glow:radial-gradient(ellipse at 18% 6%,rgba(255,250,235,.38),transparent 46%);
background:radial-gradient(1200px 520px at 50% 0,var(--lamp),transparent 70%);
transition:background .8s}
.rbook[data-mode=night]{
--paper:#1c1914;--paper-edge1:#2a251d;--paper-edge2:#14110d;
--ink:#eadfc4;--ink-dim:#c9b996;--ink-mute:#93856a;--rule:rgba(234,223,196,.15);
--seal:#b9422f;--seal-ink:#f5e5c4;--mark:rgba(214,178,106,.2);
--burn:rgba(0,0,0,.62);--spine:rgba(0,0,0,.22);--spine-deep:rgba(0,0,0,.55);
--plate:#0a0c12;--plate-grain:.12;--plate-vig:rgba(0,0,0,.66);--label-bg:rgba(12,13,18,.86);
--ow:#9bc5ab;--ne:#f0a060;--en:#c7a6ff;--lamp:rgba(255,168,80,.08);
--desk-title:#efe3c6;--desk-eyebrow:#b39a6a;--desk-glow:rgba(214,170,90,.18);--sheet-shadow:rgba(0,0,0,.75);
--sheet-stain:radial-gradient(ellipse at 50% 0%,rgba(255,180,90,.07),transparent 60%);
--sheet-grain:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .55 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
--sheet-glow:radial-gradient(ellipse at 18% 6%,rgba(255,200,130,.05),transparent 46%)}
.rhist__empty{color:var(--text-mute);font-size:15px;margin:0}

/* 书桌：页首 */
.rk-desk{padding:52px 0 40px}
.rk-desk__inner{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;flex-wrap:wrap}
.rk-desk__text{min-width:0;max-width:720px}
.rk-desk__eyebrow{font-family:var(--font-display);font-size:12px;letter-spacing:.42em;text-transform:uppercase;color:var(--desk-eyebrow);margin-bottom:14px}
.rk-desk__title{font-family:var(--font-serif);font-weight:700;font-size:clamp(36px,5vw,60px);line-height:1.15;letter-spacing:.16em;color:var(--desk-title);margin:0 0 16px;text-shadow:0 2px 24px var(--desk-glow)}
.rk-desk__lead{font-family:var(--font-serif);font-size:15px;line-height:1.9;color:var(--text-dim);margin:0;max-width:60ch}
.rk-shelf{padding:8px 0 110px}

/* 昼夜开关 */
.rk-toggle{display:inline-flex;align-items:center;flex:none;gap:12px;background:transparent;border:1px solid var(--line);border-radius:999px;padding:5px 16px 5px 5px;color:var(--text);font:inherit;font-family:var(--font-serif);font-size:14px;letter-spacing:.3em;cursor:pointer;transition:border-color .3s,background-color .3s}
.rk-toggle:hover{border-color:var(--edge-line-strong);background:var(--panel)}
.rk-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.rk-toggle__track{position:relative;flex:none;width:56px;height:30px;border-radius:999px;overflow:hidden;background:linear-gradient(180deg,#f8dc9e,#e6a457);box-shadow:inset 0 1px 3px rgba(0,0,0,.35);transition:background .7s}
.rk-toggle__stars{position:absolute;inset:0;opacity:0;transition:opacity .7s;background-image:radial-gradient(1px 1px at 10px 8px,#fff 50%,transparent),radial-gradient(1px 1px at 19px 20px,#fff 50%,transparent),radial-gradient(1.4px 1.4px at 7px 19px,#fff 50%,transparent),radial-gradient(1px 1px at 25px 7px,#fff 50%,transparent),radial-gradient(1px 1px at 15px 13px,#fff 50%,transparent)}
.rk-toggle__orb{position:absolute;top:5px;left:5px;width:20px;height:20px;border-radius:50%;background:#fff7da;box-shadow:0 0 12px 3px rgba(255,212,110,.85);transition:transform .7s cubic-bezier(.65,-.35,.3,1.35),background-color .7s,box-shadow .7s}
.rk-toggle__orb::after{content:"";position:absolute;inset:0;border-radius:50%;background:#1a1f3c;opacity:0;transform:translate(14px,-10px) scale(.3);transition:transform .7s,opacity .5s}
html[data-theme=night] .rk-toggle__track{background:linear-gradient(180deg,#10162c,#272150)}
html[data-theme=night] .rk-toggle__stars{opacity:.9}
html[data-theme=night] .rk-toggle__orb{transform:translateX(26px);background:#ece5cc;box-shadow:0 0 10px 1px rgba(196,206,255,.45)}
html[data-theme=night] .rk-toggle__orb::after{opacity:1;transform:translate(6px,-4px) scale(.9)}
.rk-toggle--sm{padding:3px;gap:0;background:transparent;pointer-events:auto}
.rhs .rk-toggle--sm{border-color:var(--rule)}
.rk-toggle--sm .rk-toggle__track{width:46px;height:24px}
.rk-toggle--sm .rk-toggle__orb{width:16px;height:16px;top:4px;left:4px}
html[data-theme=night] .rk-toggle--sm .rk-toggle__orb{transform:translateX(22px)}

/* 书页 */
.rk-sheet{position:relative;color:var(--ink);background-color:var(--paper);background-image:var(--sheet-glow),radial-gradient(ellipse at 88% 94%,rgba(120,80,30,.1),transparent 55%),var(--sheet-stain),var(--sheet-grain);background-size:auto,auto,900px 900px,220px 220px;border-radius:3px 5px 5px 3px;padding:clamp(28px,5.2vw,72px) clamp(20px,4.6vw,64px) clamp(36px,5vw,72px);font-family:var(--font-serif);box-shadow:0 1px 0 var(--paper-edge1),0 2px 0 var(--paper-edge2),0 3px 0 var(--paper-edge1),0 4px 0 var(--paper-edge2),0 5px 0 var(--paper-edge1),0 6px 0 var(--paper-edge2),0 46px 90px -24px var(--sheet-shadow),0 0 0 1px rgba(0,0,0,.3);transition:background-color .8s,color .8s,box-shadow .8s}
.rk-sheet::before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;box-shadow:inset 0 0 140px var(--burn),inset 0 0 22px var(--burn);transition:box-shadow .8s}
.rk-sheet+.rk-sheet{margin-top:96px}

.rk-title{position:relative;text-align:center;max-width:780px;margin:0 auto clamp(40px,6vw,72px)}
.rk-title__vol{font-size:13px;letter-spacing:.6em;color:var(--seal);margin-bottom:18px}
.rk-title__h{font-weight:700;font-size:clamp(26px,3.8vw,44px);line-height:1.35;letter-spacing:.14em;margin:0 0 12px;color:var(--ink)}
.rk-title__range{font-size:13px;letter-spacing:.12em;color:var(--ink-mute)}
.rk-orn{display:flex;align-items:center;gap:16px;max-width:440px;margin:28px auto;color:var(--ink-mute);font-size:20px;line-height:1}
.rk-orn::before,.rk-orn::after{content:"";flex:1;height:5px;border-block:1px solid var(--rule)}
.rk-preface{text-align:left;max-width:620px;margin:0 auto}
.rk-preface__h{text-align:center;font-size:15px;font-weight:700;letter-spacing:1em;text-indent:1em;color:var(--ink);margin:0 0 12px}
.rk-preface p{font-size:15px;line-height:2.05;color:var(--ink-dim);text-indent:2em;text-align:justify;margin:0}
.rk-stats{display:flex;justify-content:center;flex-wrap:wrap;margin-top:34px;row-gap:16px}
.rk-stat{display:flex;flex-direction:column;align-items:center;gap:6px;padding:0 clamp(16px,3vw,32px)}
.rk-stat+.rk-stat{border-left:1px solid var(--rule)}
.rk-stat b{font-size:28px;font-weight:700;line-height:1;color:var(--ink);letter-spacing:.06em}
.rk-stat span{font-size:12px;letter-spacing:.2em;color:var(--ink-mute)}

/* 跨页：左文右图，中缝 */
.rk-spread{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(48px,7vw,112px);align-items:start}
.rk-spread::before{content:"";position:absolute;top:-36px;bottom:-40px;left:50%;width:110px;transform:translateX(-50%);pointer-events:none;background:linear-gradient(90deg,transparent,var(--spine) 38%,var(--spine-deep) 50%,var(--spine) 62%,transparent)}
.rk-text{min-width:0;order:1}
.rk-day{scroll-margin-top:24px}
.rk-doc .rk-day{scroll-margin-top:calc(var(--nav-h) + 24px)}
.rk-day+.rk-day{margin-top:68px}
.rk-day__head{position:relative;display:flex;align-items:center;gap:18px;padding-bottom:16px;margin-bottom:10px;border-bottom:1px solid var(--rule)}
.rk-day__head::after{content:"";position:absolute;left:0;right:0;bottom:-5px;border-bottom:1px solid var(--rule)}
.rk-seal{flex:none;display:grid;place-items:center;width:54px;height:54px;border-radius:5px;background:var(--seal);color:var(--seal-ink);font-size:28px;font-weight:700;line-height:1;transform:rotate(-6deg);box-shadow:inset 0 0 0 3px var(--seal),inset 0 0 0 4.5px var(--seal-ink);opacity:.9;-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='90' height='90'%3E%3Cfilter id='m'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.7' numOctaves='2' seed='3'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -3 2.5'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23m)'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='90' height='90'%3E%3Cfilter id='m'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.7' numOctaves='2' seed='3'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -3 2.5'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23m)'/%3E%3C/svg%3E");transition:background-color .8s}
.rk-day:nth-child(even) .rk-seal{transform:rotate(4deg)}
.rk-day__num{font-size:12px;letter-spacing:.4em;color:var(--seal)}
.rk-day__date{font-size:28px;font-weight:700;letter-spacing:.1em;line-height:1.25;margin:3px 0 2px;color:var(--ink)}
.rk-day__heading{font-size:14px;letter-spacing:.06em;color:var(--ink-dim)}

.rk-entry{position:relative;display:grid;grid-template-columns:62px minmax(0,1fr);gap:20px;padding:20px 0}
.rk-entry+.rk-entry{border-top:1px dashed var(--rule)}
.rk-entry.is-linked{cursor:pointer}
.rk-margin{position:relative;display:flex;flex-direction:column;align-items:flex-end;gap:8px;padding-top:4px}
.rk-margin::after{content:"";position:absolute;right:-11px;top:4px;bottom:0;width:2px;border-radius:2px;background:var(--seal);transform:scaleY(0);transform-origin:top;transition:transform .45s}
.rk-entry.is-current .rk-margin::after{transform:scaleY(1)}
.rk-margin__time{font-size:13px;letter-spacing:.04em;color:var(--ink-mute);font-variant-numeric:oldstyle-nums tabular-nums;white-space:nowrap}
.rk-margin__dim{writing-mode:vertical-rl;font-size:11px;letter-spacing:.3em;padding:6px 2px;border:1px solid currentColor;border-radius:2px;line-height:1}
.rk-dim--overworld{color:var(--ow)}.rk-dim--nether{color:var(--ne)}.rk-dim--end{color:var(--en)}
.rk-entry__title{font-size:18px;font-weight:700;line-height:1.6;letter-spacing:.03em;margin:0 0 8px;color:var(--ink)}
.rk-entry__title span{background-image:linear-gradient(transparent 58%,var(--mark) 58%,var(--mark) 92%,transparent 92%);background-repeat:no-repeat;background-size:0% 100%;transition:background-size .6s ease}
.rk-entry:hover .rk-entry__title span,.rk-entry.is-current .rk-entry__title span{background-size:100% 100%}
.rk-p{font-size:15px;line-height:2.05;color:var(--ink-dim);text-indent:2em;text-align:justify;margin:0}
.rk-p+.rk-p{margin-top:4px}
.rk-colophon{margin-top:76px;padding-top:26px;border-top:3px double var(--rule)}
.rk-colophon h4{font-size:15px;font-weight:700;letter-spacing:.4em;color:var(--ink);margin:0 0 12px}
.rk-colophon p{font-size:13px;line-height:1.95;color:var(--ink-mute);text-indent:2em;text-align:justify;margin:0}
.rk-colophon p+p{margin-top:6px}
.rk-finis{margin-top:40px;text-align:center;font-size:13px;letter-spacing:.6em;color:var(--ink-mute)}

/* 插图版 */
.rhs{order:2;position:sticky;top:20px;height:calc(100vh - var(--nav-h) - 40px);min-height:440px;margin:0;background:var(--plate);border:1px solid var(--ink-mute);border-radius:2px;overflow:hidden;isolation:isolate;box-shadow:0 0 0 6px var(--paper),0 0 0 7px var(--rule),0 18px 40px -18px rgba(40,24,8,.45);transition:background-color .8s,box-shadow .8s}
.rk-doc .rhs{top:calc(var(--nav-h) + 20px)}
.rhs.is-failed{display:none}
.rhs__canvas{position:absolute;inset:0;width:100%;height:100%;display:block;cursor:grab;touch-action:pan-y}
.rhs__canvas:active{cursor:grabbing}
.rhs::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background-image:var(--grain);background-size:220px;mix-blend-mode:multiply;opacity:var(--plate-grain);transition:opacity .8s}
.rhs::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(color-mix(in srgb,var(--plate) 88%,transparent),transparent 24%,transparent 80%,color-mix(in srgb,var(--plate) 85%,transparent)),radial-gradient(125% 95% at 50% 46%,transparent 52%,var(--plate-vig));transition:background .8s}
.rhs__labels{position:absolute;inset:0;z-index:2;pointer-events:none;overflow:hidden}
.rhs__label{position:absolute;left:0;top:0;opacity:0;transition:opacity .35s;font-family:var(--font-serif);font-size:12px;line-height:1;letter-spacing:.04em;padding:6px 9px;color:var(--ink);background:var(--label-bg);border:1px solid var(--rule);border-radius:2px;box-shadow:0 4px 14px -6px rgba(0,0,0,.4);white-space:nowrap;will-change:transform,opacity}
.rhs__label::after{content:"";position:absolute;left:50%;top:100%;width:1px;height:14px;background:linear-gradient(var(--ow),transparent)}
.rhs__label i{font-style:normal;font-size:11px;margin-right:6px;color:var(--ow)}
.rhs__label--nether i{color:var(--ne)}.rhs__label--nether::after{background:linear-gradient(var(--ne),transparent)}
.rhs__label--end i{color:var(--en)}.rhs__label--end::after{background:linear-gradient(var(--en),transparent)}
.rhs__label--dim{background:none;border:none;box-shadow:none;padding:0;color:var(--ink-mute);font-size:13px;letter-spacing:.6em}
.rhs__label--dim::after{display:none}
.rhs__hud{position:absolute;inset:0;z-index:3;pointer-events:none;display:flex;flex-direction:column;justify-content:space-between;padding:20px 22px 14px;font-family:var(--font-serif)}
.rhs__top{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}
.rhs__num{font-size:12px;letter-spacing:.3em;color:var(--seal)}
.rhs__date{font-size:28px;font-weight:700;letter-spacing:.1em;line-height:1.2;margin-top:6px;color:var(--ink)}
.rhs__heading{font-size:13px;letter-spacing:.06em;margin-top:6px;color:var(--ink-dim)}
.rhs__tools{pointer-events:auto}
.rhs__bar{display:grid;gap:6px;pointer-events:auto}
.rhs__seg{appearance:none;-webkit-appearance:none;background:none;border:0;padding:6px 0 0;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:6px;color:var(--ink-mute);font:inherit}
.rhs__track{align-self:stretch;display:block;height:2px;background:var(--rule);position:relative;overflow:hidden}
.rhs__fill{position:absolute;inset:0;background:var(--seal);transform-origin:left;transform:scaleX(var(--fill,0))}
.rhs__seglabel{font-size:12px}
.rhs__seg:hover .rhs__seglabel,.rhs__seg:focus-visible .rhs__seglabel{color:var(--ink)}
.rhs__caption{margin-top:10px;text-align:center;font-size:11px;letter-spacing:.14em;color:var(--ink-mute)}

@media (max-width:980px){
.rk-spread{grid-template-columns:minmax(0,1fr);gap:28px}
.rk-spread::before{display:none}
.rhs,.rk-doc .rhs{order:0;top:0;height:42vh;min-height:250px;max-height:420px;z-index:5;box-shadow:0 0 0 4px var(--paper),0 0 0 5px var(--rule),0 14px 24px -14px rgba(40,24,8,.55)}
.rk-doc .rhs{top:var(--nav-h)}
.rk-day{scroll-margin-top:calc(min(max(42vh,250px),420px) + 20px)}
.rk-doc .rk-day{scroll-margin-top:calc(var(--nav-h) + min(max(42vh,250px),420px) + 20px)}
.rhs__hud{padding:12px 14px 8px}
.rhs__date{font-size:20px}
.rhs__caption{display:none}
}
@media (max-width:640px){
.rk-desk{padding:36px 0 28px}
.rk-sheet{border-radius:3px}
.rk-entry{grid-template-columns:minmax(0,1fr);gap:8px}
.rk-margin{flex-direction:row;align-items:center;justify-content:flex-start;padding-top:0}
.rk-margin::after{right:auto;left:-10px;top:0;bottom:auto;height:100%;max-height:22px}
.rk-margin__dim{writing-mode:horizontal-tb;padding:2px 6px;letter-spacing:.12em}
.rk-day__date{font-size:23px}
.rk-seal{width:46px;height:46px;font-size:24px}
.rk-stat{padding:0 14px}
.rk-stat b{font-size:24px}
}
@media (prefers-reduced-motion:reduce){
.rbook *,.rbook *::before,.rbook *::after{transition:none!important}
}

/* 夜读：朱砂小字提亮，保证可读 */
.rbook[data-mode=night] .rk-title__vol,.rbook[data-mode=night] .rk-day__num{color:#e0705a}

/* 商道烽烟 · 活动卡片 */
.sd-events>.card+.card{margin-top:40px}
.sd-card{--sd-gold:#d9a548;--sd-red:#ea735c;--sd-teal:#6fd0bc;--sd-violet:#a08cf0;--sd-bg1:#141c22;--sd-bg2:#05070a;overflow:hidden}
html[data-theme=day] .sd-card{--sd-gold:#8a5a12;--sd-red:#8e2a1a;--sd-teal:#1f6656;--sd-violet:#5a2a5c;--sd-bg1:#d8c8a2;--sd-bg2:#a8936a}
.sd-kicker{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.sd-status{display:inline-flex;align-items:center;gap:7px;padding:3px 10px 3px 8px;border:1px solid color-mix(in srgb,var(--sd-gold) 55%,transparent);border-radius:999px;color:var(--sd-gold);font-weight:600;letter-spacing:.08em}
.sd-status::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--sd-gold);box-shadow:0 0 0 0 color-mix(in srgb,var(--sd-gold) 60%,transparent);animation:sd-pulse 2.2s infinite}
@keyframes sd-pulse{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--sd-gold) 55%,transparent)}70%{box-shadow:0 0 0 8px transparent}100%{box-shadow:0 0 0 0 transparent}}
.sd-title{font-size:clamp(34px,4.6vw,54px);letter-spacing:.18em;margin-bottom:12px}
/* 沙盘 */
.sd-scene{position:relative;margin:28px 0 0;aspect-ratio:16/10;min-height:340px;max-height:78vh;border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden;background:radial-gradient(120% 90% at 50% 42%,var(--sd-bg1),var(--sd-bg2));isolation:isolate}
.sd-scene__canvas{position:absolute;inset:0;width:100%;height:100%;display:block;cursor:grab;touch-action:pan-y}
.sd-scene__canvas:active{cursor:grabbing}
.sd-scene::after{content:"";position:absolute;inset:0;pointer-events:none;z-index:1;background:linear-gradient(color-mix(in srgb,var(--sd-bg2) 70%,transparent),transparent 20%,transparent 78%,color-mix(in srgb,var(--sd-bg2) 75%,transparent))}
.sd-scene__labels{position:absolute;inset:0;z-index:2;pointer-events:none;overflow:hidden}
.sd-label{position:absolute;left:0;top:0;white-space:nowrap;font-size:12px;line-height:1;padding:5px 8px;border-radius:3px;transition:opacity .3s;will-change:transform;font-family:var(--font-serif)}
.sd-label--station{color:var(--text);background:color-mix(in srgb,var(--bg) 82%,transparent);border:1px solid color-mix(in srgb,var(--sd-gold) 60%,transparent);font-weight:700;letter-spacing:.12em}
.sd-label--city{color:var(--text-dim);background:none;letter-spacing:.3em;font-size:12px}
.sd-label--ambush{color:var(--sd-red);background:color-mix(in srgb,var(--bg) 78%,transparent);border:1px dashed color-mix(in srgb,var(--sd-red) 60%,transparent)}
.sd-label--cp{color:var(--sd-gold);background:none;padding:2px 4px;font-size:11px;letter-spacing:.1em}
.sd-label--lead{color:#1b1206;background:var(--sd-gold);font-weight:700;padding:3px 7px;font-size:11px;letter-spacing:.1em;box-shadow:0 4px 12px -4px rgba(0,0,0,.5)}
html[data-theme=day] .sd-label--lead{color:#f5ead0}
.sd-hud{position:absolute;inset:0;z-index:3;pointer-events:none;display:flex;flex-direction:column;justify-content:space-between;padding:16px 18px}
.sd-hud__top{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}
.sd-hud__route{font-size:12px;letter-spacing:.2em;color:var(--text-mute)}
.sd-hud__phase{font-family:var(--font-serif);font-size:30px;font-weight:700;letter-spacing:.2em;color:var(--text);margin-top:4px;transition:color .3s}
.sd-hud__phase[data-phase=遇伏],.sd-hud__phase[data-phase=突围]{color:var(--sd-red)}
.sd-hud__phase[data-phase=镖到]{color:var(--sd-gold)}
.sd-hud__stats{display:flex;gap:18px;text-align:right}
.sd-hud__stats span{display:block;font-size:11px;color:var(--text-mute);letter-spacing:.14em}
.sd-hud__stats b{display:block;font-family:var(--font-mono);font-size:16px;color:var(--text);margin-top:3px;font-variant-numeric:tabular-nums}
.sd-hud__bottom{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap}
.sd-hp{display:flex;align-items:center;gap:10px;font-size:12px;color:var(--text-mute);letter-spacing:.1em}
.sd-hp b{font-family:var(--font-mono);color:var(--text);min-width:3.2em}
.sd-hp__bar{display:block;width:160px;height:6px;border-radius:3px;background:color-mix(in srgb,var(--text) 15%,transparent);overflow:hidden}
.sd-hp__bar i{display:block;height:100%;background:linear-gradient(90deg,var(--sd-red),var(--sd-gold));transform-origin:left;transition:transform .2s}
.sd-hp__bar i[data-low="1"]{background:var(--sd-red)}
.sd-legend{display:flex;flex-wrap:wrap;gap:6px 14px;margin:0;padding:0;list-style:none;font-size:12px;color:var(--text-dim)}
.sd-legend li{display:flex;align-items:center;gap:6px}
.sd-legend li::before{content:"";width:9px;height:9px;border-radius:50%;background:currentColor}
.sd-legend .is-lead::before{background:var(--sd-gold);box-shadow:0 0 0 3px color-mix(in srgb,var(--sd-gold) 30%,transparent)}
.sd-legend .is-escort::before{background:var(--sd-teal)}
.sd-legend .is-robber::before{background:var(--sd-red)}
.sd-legend .is-fire::before{width:7px;height:11px;border-radius:2px;background:linear-gradient(#ffcf6a,#e0612a)}
.sd-legend .is-claim::before{border-radius:2px;background:none;border:1px solid var(--sd-violet)}
.sd-scene__state{position:absolute;inset:0;z-index:4;display:grid;place-items:center;color:var(--text-mute);font-size:14px;letter-spacing:.1em}
.sd-scene.is-failed .sd-hud,.sd-scene.is-loading .sd-hud{display:none}
.sd-scene__cap{position:absolute;left:0;right:0;bottom:-1px;z-index:3;padding:0 18px 8px;text-align:center;font-size:11px;color:var(--text-mute);pointer-events:none;opacity:.85;display:none}
/* 数据 */
.sd-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin:18px 0 0;background:var(--line);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
.sd-facts>div{background:var(--panel);padding:14px 16px;display:flex;flex-direction:column;gap:4px;min-width:0}
.sd-facts span{font-size:12px;color:var(--text-mute);letter-spacing:.08em}
.sd-facts b{font-family:var(--font-serif);font-size:19px;color:var(--text);overflow-wrap:anywhere}
.sd-facts em{font-style:normal;font-size:12px;color:var(--text-mute)}
.sd-note{font-size:12px;color:var(--text-mute);margin:10px 0 0}
.sd-route{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:28px;margin:32px 0 8px;align-items:start}
.sd-terrain__bar{display:flex;height:14px;border-radius:7px;overflow:hidden;margin:14px 0 12px;border:1px solid var(--line)}
.sd-terrain__bar i{display:block;min-width:4px}
.sd-terrain__legend{display:flex;flex-wrap:wrap;gap:8px 16px;margin:0 0 14px;padding:0;list-style:none;font-size:13px;color:var(--text-dim)}
.sd-terrain__legend li{display:flex;align-items:center;gap:6px}
.sd-terrain__legend i{width:10px;height:10px;border-radius:2px;display:inline-block}
.sd-terrain__legend b{font-family:var(--font-mono);font-weight:400;color:var(--text-mute)}
.sd-t--sand{background:#c47a3a}.sd-t--rock{background:#8b8b84}.sd-t--forest{background:#3f6b3a}.sd-t--plain{background:#8fae5a}.sd-t--snow{background:#e6ebee}.sd-t--water{background:#3d6aa8}
.sd-stops{list-style:none;margin:0;padding:0 0 0 18px;border-left:2px solid color-mix(in srgb,var(--sd-gold) 45%,transparent);font-size:13px}
.sd-stops li{position:relative;display:flex;justify-content:space-between;gap:12px;padding:6px 0}
.sd-stops li::before{content:"";position:absolute;left:-24px;top:11px;width:10px;height:10px;border-radius:50%;background:var(--bg);border:2px solid var(--sd-gold)}
.sd-stops b{color:var(--text);font-weight:600}
.sd-stops span{color:var(--text-mute);font-family:var(--font-mono);font-size:12px;text-align:right}
.sd-stops .is-station::before{background:var(--sd-gold);width:12px;height:12px;left:-25px;top:10px}
.sd-stops .is-station b{letter-spacing:.12em}
.sd-stops .is-ambush b{color:var(--sd-red)}
.sd-stops .is-ambush::before{border-color:var(--sd-red);border-style:dashed}
/* 角色、流程、胜负 */
.sd-roles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:8px}
.sd-role{border-top:3px solid var(--sd-gold)}
.sd-role--escort{border-top-color:var(--sd-teal)}
.sd-role--robber{border-top-color:var(--sd-red)}
.sd-role h4 small{display:block;font-size:12px;font-weight:400;color:var(--text-mute);letter-spacing:.1em;margin-top:4px;font-family:var(--font-body)}
.sd-role ul{margin:0;padding-left:18px;font-size:14px;line-height:1.85;color:var(--text-dim)}
.sd-role li+li{margin-top:4px}
.sd-flow{list-style:none;margin:0 0 8px;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;counter-reset:sd}
.sd-flow li{position:relative;padding:16px 14px 14px;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);counter-increment:sd}
.sd-flow li::before{content:counter(sd,cjk-ideographic);position:absolute;top:-11px;left:12px;padding:0 6px;background:var(--bg);color:var(--sd-gold);font-family:var(--font-serif);font-size:13px}
.sd-flow b{display:block;font-family:var(--font-serif);font-size:17px;color:var(--text);margin-bottom:6px;letter-spacing:.1em}
.sd-flow span{font-size:13px;line-height:1.7;color:var(--text-dim)}
.sd-outcomes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:24px}
.sd-outcomes>div{padding:16px;border-radius:var(--radius);border:1px solid var(--line);background:var(--panel)}
.sd-outcomes b{display:block;font-family:var(--font-serif);font-size:22px;letter-spacing:.2em;margin-bottom:6px}
.sd-outcomes span{font-size:13px;line-height:1.7;color:var(--text-dim)}
.sd-outcomes .is-win b{color:var(--sd-gold)}.sd-outcomes .is-lose b{color:var(--sd-red)}.sd-outcomes .is-back b{color:var(--sd-teal)}
.sd-sign{margin-top:20px;text-align:right}
@media (max-width:980px){
.sd-facts{grid-template-columns:repeat(2,minmax(0,1fr))}
.sd-route{grid-template-columns:minmax(0,1fr)}
.sd-roles{grid-template-columns:minmax(0,1fr)}
.sd-flow{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:20px}
.sd-outcomes{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:640px){
.sd-scene{aspect-ratio:4/5;max-height:none}
.sd-hud{padding:12px}
.sd-hud__phase{font-size:22px}
.sd-hud__stats{gap:10px}
.sd-hud__stats b{font-size:13px}
.sd-hp__bar{width:96px}
.sd-legend{display:none}
.sd-flow{grid-template-columns:minmax(0,1fr)}
}
@media (prefers-reduced-motion:reduce){.sd-status::before{animation:none}}

/* 举办中状态 + 正式玩法规则 */
.sd-status--live{border-color:color-mix(in srgb,var(--sd-red) 60%,transparent);color:var(--sd-red)}
.sd-status--live::before{background:var(--sd-red);box-shadow:0 0 0 0 color-mix(in srgb,var(--sd-red) 60%,transparent)}
.sd-card .notice code{padding:1px 6px;border-radius:3px;background:color-mix(in srgb,var(--text) 10%,transparent);font-family:var(--font-mono);font-size:.92em}
.sd-rules{margin-bottom:8px}
.sd-rules ul{margin:0;padding-left:18px;font-size:14px;line-height:1.85;color:var(--text-dim)}
.sd-rules li+li{margin-top:4px}
.sd-menu{margin:0 0 24px;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);overflow:hidden}
.sd-menu>div{display:grid;grid-template-columns:minmax(0,220px) minmax(0,1fr);gap:16px;padding:11px 16px;font-size:14px;line-height:1.7}
.sd-menu>div+div{border-top:1px solid var(--line)}
.sd-menu dt{color:var(--text);font-weight:600}
.sd-menu dd{margin:0;color:var(--text-dim)}
@media (max-width:640px){.sd-menu>div{grid-template-columns:minmax(0,1fr);gap:2px}}

/* 社区国家 & 商业街建设活动 · 城建沙盘（接在原活动卡片上方）*/
.jx-wrap{--jx-gold:#e0b25a;--jx-teal:#8fd0b4;--jx-red:#c8372a;--jx-bg1:#16222a;--jx-bg2:#06090c}
html[data-theme=day] .jx-wrap{--jx-gold:#7a4f0e;--jx-teal:#1f5c48;--jx-red:#9a2618;--jx-bg1:#d6c6a0;--jx-bg2:#a48e64}
.sd-events>.jx-wrap{margin-top:40px}
.jx-wrap>.card{border-top-left-radius:0;border-top-right-radius:0;border-top:0}
.jx-scene{position:relative;margin:0;aspect-ratio:21/9;min-height:360px;max-height:72vh;border:1px solid var(--line);border-bottom:0;border-radius:var(--radius-lg) var(--radius-lg) 0 0;overflow:hidden;isolation:isolate;background:radial-gradient(110% 100% at 50% 30%,var(--jx-bg1),var(--jx-bg2))}
.jx-scene__canvas{position:absolute;inset:0;width:100%;height:100%;display:block;cursor:grab;touch-action:pan-y}
.jx-scene__canvas:active{cursor:grabbing}
.jx-scene::after{content:"";position:absolute;inset:0;pointer-events:none;z-index:1;background:linear-gradient(color-mix(in srgb,var(--jx-bg2) 72%,transparent),transparent 26%,transparent 84%,color-mix(in srgb,var(--panel) 92%,transparent))}
.jx-scene__labels{position:absolute;inset:0;z-index:2;pointer-events:none;overflow:hidden}
.jx-label{position:absolute;left:0;top:0;white-space:nowrap;opacity:0;will-change:transform,opacity;font-family:var(--font-serif);line-height:1}
.jx-label--zone{font-size:15px;font-weight:700;letter-spacing:.3em;color:var(--text);padding:6px 12px;background:color-mix(in srgb,var(--bg) 70%,transparent);border:1px solid color-mix(in srgb,var(--jx-teal) 55%,transparent);border-radius:3px}
.jx-label--gold{border-color:color-mix(in srgb,var(--jx-gold) 70%,transparent);color:var(--jx-gold)}
.jx-label--poi{font-size:12px;color:var(--text-dim);letter-spacing:.14em;padding:3px 6px;background:color-mix(in srgb,var(--bg) 55%,transparent);border-radius:2px}
.jx-label--cat{font-size:12px;font-weight:700;color:#1b1206;background:var(--jx-gold);padding:3px 7px;border-radius:2px;letter-spacing:.1em;box-shadow:0 4px 10px -4px rgba(0,0,0,.5)}
html[data-theme=day] .jx-label--cat{color:#f5ead0}
.jx-label--shield{font-size:13px;letter-spacing:.4em;color:var(--jx-teal);padding:4px 10px;border:1px solid color-mix(in srgb,var(--jx-teal) 60%,transparent);border-radius:999px;background:color-mix(in srgb,var(--bg) 60%,transparent)}
.jx-label--comm{font-size:13px;letter-spacing:.4em;color:var(--jx-gold);padding:4px 10px;border:1px solid color-mix(in srgb,var(--jx-gold) 60%,transparent);border-radius:2px;background:color-mix(in srgb,var(--bg) 60%,transparent)}
.jx-stamp{font-size:18px;font-weight:700;letter-spacing:.24em;color:var(--jx-red);padding:8px 10px 8px 14px;border:3px double var(--jx-red);border-radius:6px;background:color-mix(in srgb,var(--bg) 25%,transparent);mix-blend-mode:normal;text-shadow:0 0 1px currentColor}
.jx-hud{position:absolute;inset:0;z-index:3;pointer-events:none;display:flex;flex-direction:column;justify-content:space-between;padding:16px 18px 14px}
.jx-hud__top{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}
.jx-hud__kicker{font-size:12px;letter-spacing:.22em;color:var(--text-mute)}
.jx-hud__phase{font-family:var(--font-serif);font-size:30px;font-weight:700;letter-spacing:.3em;color:var(--text);margin-top:4px}
.jx-cards{display:flex;gap:10px}
.jx-meter{min-width:150px;padding:10px 12px;border:1px solid color-mix(in srgb,var(--jx-teal) 45%,transparent);border-radius:4px;background:color-mix(in srgb,var(--bg) 72%,transparent);backdrop-filter:blur(3px)}
.jx-meter--gold{border-color:color-mix(in srgb,var(--jx-gold) 55%,transparent)}
.jx-meter h5{margin:0 0 6px;font-size:13px;letter-spacing:.2em;color:var(--text);font-family:var(--font-serif)}
.jx-meter p{display:flex;justify-content:space-between;gap:12px;margin:3px 0 0;font-size:12px;color:var(--text-mute)}
.jx-meter b{font-family:var(--font-mono);font-weight:500;color:var(--text);font-variant-numeric:tabular-nums}
.jx-meter p.is-met b{color:var(--jx-teal)}
.jx-meter p.is-met b::after{content:" ✓"}
.jx-meter--gold p.is-met b{color:var(--jx-gold)}
.jx-steps{display:flex;gap:6px;margin:0;padding:0;list-style:none;counter-reset:jx}
.jx-steps li{flex:1;position:relative;padding-top:10px;font-size:12px;letter-spacing:.2em;color:var(--text-mute);text-align:center;transition:color .4s}
.jx-steps li::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;border-radius:2px;background:color-mix(in srgb,var(--text) 14%,transparent);transition:background .4s}
.jx-steps li.is-on::before{background:var(--jx-gold)}
.jx-steps li.is-on{color:var(--text-dim)}
.jx-steps li.is-now{color:var(--text);font-weight:700}
.jx-scene__state{position:absolute;inset:0;z-index:4;display:grid;place-items:center;color:var(--text-mute)}
.jx-scene.is-failed .jx-hud{display:none}
@media (max-width:980px){.jx-scene{aspect-ratio:16/10}.jx-cards{flex-direction:column}}
@media (max-width:640px){.jx-scene{aspect-ratio:4/5;min-height:0}.jx-hud__phase{font-size:22px}.jx-meter{min-width:0;padding:7px 9px}.jx-meter h5{font-size:12px}.jx-hud__top{flex-direction:column;gap:8px}.jx-cards{flex-direction:row}.jx-steps li{letter-spacing:.05em;font-size:11px}.jx-label--zone{font-size:12px;letter-spacing:.15em}}

/* 通知页 /events：分类书签 + 更新时间线（颜色全部取站点变量，白昼 / 夜读自动适配） */
.rn-section{padding-top:28px}
.rn-tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin:0 0 40px;overflow-x:auto;scrollbar-width:none}
.rn-tabs::-webkit-scrollbar{display:none}
.rn-tab{appearance:none;position:relative;display:inline-flex;align-items:center;gap:10px;flex:none;padding:14px 22px 15px;background:none;border:0;border-radius:var(--radius) var(--radius) 0 0;font-family:var(--font-serif);font-size:18px;font-weight:700;letter-spacing:.14em;color:var(--text-mute);cursor:pointer;transition:color .2s,background-color .2s}
.rn-tab::after{content:"";position:absolute;left:16px;right:16px;bottom:-1px;height:2px;background:var(--accent);transform:scaleX(0);transition:transform .28s ease}
.rn-tab:hover{color:var(--text-dim);background:color-mix(in srgb,var(--panel) 60%,transparent)}
.rn-tab[aria-selected=true]{color:var(--text)}
.rn-tab[aria-selected=true]::after{transform:scaleX(1)}
.rn-tab:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}
.rn-count{min-width:22px;padding:1px 7px;border:1px solid var(--line);border-radius:999px;font-family:var(--font-mono);font-size:12px;font-weight:400;letter-spacing:0;line-height:18px;text-align:center;color:var(--text-mute)}
.rn-tab[aria-selected=true] .rn-count{border-color:color-mix(in srgb,var(--accent) 55%,transparent);color:var(--accent)}
.rn-panel{animation:rn-in .35s ease both}
@keyframes rn-in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}

/* 更新时间线 */
.rn-log{list-style:none;margin:0 auto;padding:0;max-width:980px}
.rn-entry{position:relative;display:grid;grid-template-columns:120px 1fr;gap:0 44px;padding-bottom:28px}
.rn-entry::before{content:"";position:absolute;left:142px;top:0;bottom:0;width:1px;background:var(--line)}
.rn-entry:first-child::before{top:30px}
.rn-entry:last-child::before{bottom:auto;height:30px}
.rn-entry:only-child::before{display:none}
.rn-entry::after{content:"";position:absolute;left:137px;top:25px;width:9px;height:9px;border-radius:50%;background:var(--bg);border:1px solid var(--edge-line-strong);box-sizing:border-box}
.rn-entry.is-latest::after{background:var(--accent);border-color:var(--accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 18%,transparent)}
.rn-date{display:flex;flex-direction:column;align-items:flex-end;padding-top:18px;font-family:var(--font-mono);font-size:12px;letter-spacing:.12em;color:var(--text-mute);font-variant-numeric:tabular-nums}
.rn-date b{font-family:var(--font-serif);font-size:20px;font-weight:700;letter-spacing:.06em;color:var(--text-dim);margin-top:2px}
.rn-entry.is-latest .rn-date b{color:var(--text)}
.rn-card{position:relative}
.rn-card__head{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.rn-tag{display:inline-block;padding:2px 10px;border:1px solid color-mix(in srgb,var(--secondary) 55%,transparent);border-radius:999px;font-size:12px;letter-spacing:.14em;color:var(--secondary)}
.rn-tag[data-tag=玩法]{border-color:color-mix(in srgb,var(--accent) 55%,transparent);color:var(--accent)}
.rn-tag[data-tag=修复]{border-color:color-mix(in srgb,var(--premium-gold) 60%,transparent);color:var(--premium-gold)}
.rn-new{font-size:12px;letter-spacing:.14em;color:var(--accent);font-weight:600}
.rn-card__title{font-family:var(--font-serif);letter-spacing:.08em;margin-bottom:14px}
.rn-items{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.rn-items li{position:relative;padding-left:20px;font-size:14px;line-height:1.85;color:var(--text-dim)}
.rn-items li::before{content:"";position:absolute;left:3px;top:.8em;width:6px;height:6px;background:var(--accent);opacity:.75;transform:rotate(45deg)}

.rn-entry.is-pending::after{background:var(--bg);border:1px dashed var(--accent)}
.rn-entry.is-pending .rn-date b{color:var(--accent)}
.rn-entry.is-pending .rn-card{border-style:dashed}
.rn-pending{display:inline-flex;align-items:center;gap:6px;font-size:12px;letter-spacing:.14em;color:var(--accent);font-weight:600}
.rn-pending::before{content:"";width:6px;height:6px;border-radius:50%;border:1px solid currentColor;box-sizing:border-box}
.rn-sub{list-style:none;margin:8px 0 2px;padding:0;display:grid;gap:4px}
.rn-sub li{position:relative;padding-left:16px;font-size:14px;line-height:1.8;color:var(--text-dim)}
.rn-sub li::before{content:"";position:absolute;left:2px;top:.9em;width:8px;height:1px;background:var(--text-mute);transform:none;opacity:1}
.rn-empty{max-width:980px;margin:0 auto;padding:56px 26px;text-align:center}
.rn-empty .h3{font-family:var(--font-serif);letter-spacing:.12em;margin-bottom:10px}

@media (max-width:640px){
 .rn-section{padding-top:16px}
 .rn-tabs{margin-bottom:28px}
 .rn-tab{padding:12px 14px 13px;font-size:16px;letter-spacing:.1em}
 .rn-entry{grid-template-columns:1fr;padding-left:22px;padding-bottom:22px}
 .rn-entry::before{left:4px}
 .rn-entry::after{left:0;top:6px}
 .rn-entry:first-child::before{top:10px}
 .rn-entry:last-child::before{height:10px}
 .rn-date{flex-direction:row;align-items:baseline;gap:8px;padding:0 0 10px}
 .rn-date b{font-size:16px;margin:0}
}
@media (prefers-reduced-motion:reduce){.rn-panel{animation:none}.rn-tab::after{transition:none}}

/* 卡片内的图解（村民机制） */
.rn-card__scene{margin:14px 0 18px;min-width:0}
.rn-card__scene>*{margin:0}
@media (max-width:640px){.rn-card__scene .vg-stage{aspect-ratio:1/1}.rn-card__scene .vg-top{left:6px;top:6px;padding:3px 8px;font-size:12px}}

/* 机制改动 · 村民机制图解 */
.vg{position:relative;border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden;background:#cfc5a8;isolation:isolate;container-type:inline-size}
.vg-stage{position:relative;aspect-ratio:16/9;max-height:460px;width:100%}
.vg-canvas{position:absolute;inset:0;width:100%;height:100%;display:block;cursor:grab;touch-action:pan-y}
.vg-canvas:active{cursor:grabbing}
.vg-labels{position:absolute;inset:0;z-index:1;pointer-events:none;overflow:hidden}
.vg-tag{position:absolute;left:0;top:0;white-space:nowrap;padding:2px 9px;border-radius:3px;background:rgba(28,20,12,.82);border:1px solid rgba(255,255,255,.18);color:#f3e7cc;font-size:12px;letter-spacing:.04em;font-variant-numeric:tabular-nums;opacity:0;transition:opacity .2s;will-change:transform}
.vg-tag.is-gold{border-color:rgba(242,196,67,.75);color:#ffe08a}
.vg-tag.is-ok{border-color:rgba(110,230,150,.7);color:#bff5cf}
.vg-tag.is-bad{border-color:rgba(240,90,70,.8);color:#ffc2b6}
.vg-top{position:absolute;left:10px;top:10px;z-index:2;display:flex;align-items:center;gap:8px;padding:4px 10px;border-radius:3px;background:rgba(28,20,12,.72);color:#f3e7cc;pointer-events:none}
.vg-top b{font-family:var(--font-serif);font-size:14px;letter-spacing:.16em}
.vg-top span{font-family:var(--font-mono);font-size:12px;color:rgba(243,231,204,.7)}
.vg-tabs{position:absolute;left:50%;bottom:10px;z-index:2;transform:translateX(-50%);width:max-content;max-width:calc(100% - 12px);display:flex;gap:5px;padding:5px;border-radius:999px;background:rgba(28,20,12,.62);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.vg-tab{position:relative;overflow:hidden;flex:none;white-space:nowrap;padding:5px 13px;border:1px solid rgba(255,255,255,.16);border-radius:999px;background:none;color:rgba(243,231,204,.78);font:inherit;font-size:13px;letter-spacing:.1em;cursor:pointer;transition:color .2s,border-color .2s}
.vg-tab i{position:absolute;left:0;bottom:0;width:100%;height:2px;background:#f2c443;transform:scaleX(0);transform-origin:left}
.vg-tab:hover{color:#fff}
.vg-tab.is-on{color:#1b1206;background:#f0d48a;border-color:#f0d48a;font-weight:700}
.vg-tab.is-on i{background:#7a4f0e}
.vg-tab:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.vg-cap{margin:0;padding:10px 14px;min-height:44px;border-top:1px solid var(--line);border-left:3px solid var(--accent);background:var(--panel);color:var(--text);font-size:13px;line-height:1.7;letter-spacing:.02em}
.vg-cap b{display:inline-block;margin-right:10px;padding:0 9px;border-radius:999px;background:var(--accent);color:var(--bg);font-size:12px;letter-spacing:.14em;line-height:20px}
.vg-cap em{display:inline-block;margin-right:10px;padding:0 8px;border:1px solid var(--line);border-radius:999px;font-style:normal;font-size:12px;letter-spacing:.06em;line-height:18px;color:var(--text-dim)}
.vg-cap em.is-hi{border-color:color-mix(in srgb,var(--accent) 60%,transparent);color:var(--accent)}
.vg--nogl{display:none}
@container (max-width:560px){
 .vg-stage{aspect-ratio:4/3}
 .vg-tabs{gap:3px;padding:4px}
 .vg-tab{padding:4px 9px;font-size:12px;letter-spacing:.04em}
 .vg-tag{font-size:11px;padding:1px 6px}
 .vg-cap{font-size:12px}
}

/* 官方活动「琥珀金矿场」：3D 头图的记分板与提示（场景沿用 .vg-* 样式），以及活动卡片 */
.am .vg-stage{aspect-ratio:16/9;max-height:600px}
.am .vg-cap{min-height:66px}
.am-hud{position:absolute;right:12px;top:12px;z-index:3;display:flex;flex-direction:column;gap:6px;min-width:250px;padding:10px 12px;border-radius:4px;background:rgba(24,18,12,.74);border:1px solid rgba(242,196,67,.35);color:#f3e7cc;font-size:13px;pointer-events:none;opacity:0;transform:translateY(-6px);transition:opacity .3s,transform .3s}
.am-hud.is-on{opacity:1;transform:none}
.am-time{font-family:var(--font-mono,Consolas,monospace);font-size:20px;letter-spacing:.08em;color:#ffd77a;text-align:center}
.am-row{display:grid;grid-template-columns:4.2em 1fr 3em;gap:8px;align-items:center}
.am-row b{font-weight:600;letter-spacing:.06em}
.am-row i{height:8px;border-radius:4px;background:rgba(255,255,255,.12);overflow:hidden}
.am-row s{display:block;height:100%;border-radius:4px;transition:width .3s}
.am-row em{font-style:normal;font-family:var(--font-mono,Consolas,monospace);text-align:right}
.am-row.is-hold b::after{content:"⚑";margin-left:4px;color:#ff6a50}
.am-note,.am-tip{font-size:12px;line-height:1.5;color:rgba(243,231,204,.85)}
.am-tip code{color:#ffd77a;font-family:var(--font-mono,Consolas,monospace)}
.am-mine{display:grid;grid-template-columns:auto 1fr;align-items:baseline;gap:2px 8px}
.am-mine b{font-family:var(--font-mono,Consolas,monospace);font-size:30px;color:#ffc24a;line-height:1}
.am-mine span{font-family:var(--font-mono,Consolas,monospace);color:rgba(243,231,204,.7)}
.am-mine small{grid-column:1/-1;font-size:12px;color:rgba(243,231,204,.75)}
.am-mine i{grid-column:1/-1;height:6px;border-radius:3px;background:rgba(255,255,255,.12);overflow:hidden}
.am-mine i s{display:block;height:100%;background:linear-gradient(90deg,#e8a030,#ffd77a)}
@container (max-width:560px){
 .am .vg-stage{aspect-ratio:1/1}
 .am-hud{min-width:0;left:auto;right:6px;top:44px;padding:7px 9px;font-size:11px;transform:scale(.9);transform-origin:top right}
 .am-time{font-size:16px}
}
/* 活动卡片 */
.am-card .am-scene{margin:18px 0 24px}
.am-status{border-color:color-mix(in srgb,#e8a030 60%,transparent)!important;color:#e8a030!important}
.am-status::before{background:#e8a030!important}
.am-cmds{margin:0 0 24px;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);overflow:hidden}
.am-cmds>div{display:grid;grid-template-columns:minmax(0,190px) minmax(0,1fr);gap:16px;padding:10px 16px;font-size:14px;line-height:1.7}
.am-cmds>div+div{border-top:1px solid var(--line)}
.am-cmds dt{font-family:var(--font-mono,Consolas,monospace);color:var(--accent)}
.am-cmds dd{margin:0;color:var(--text-dim)}
.am-card .sd-rules ul{margin:0;padding-left:18px;font-size:14px;line-height:1.85;color:var(--text-dim)}
@media (max-width:640px){.am-cmds>div{grid-template-columns:minmax(0,1fr);gap:2px}}

/* 官方活动「实体明信片」：黑色信封拖出明信片（postcard.js），以及 5 款收藏格 */
.pc-event .pc-stage{margin:18px 0 26px}
.pc-stage{position:relative;width:100%;aspect-ratio:10/7;max-height:760px;overflow:hidden;border-radius:var(--radius-lg,10px);isolation:isolate;user-select:none;-webkit-user-select:none;
 background:radial-gradient(120% 95% at 50% 26%,#2b231a 0%,#130f0b 52%,#060504 100%);border:1px solid rgba(232,184,74,.22)}
.pc-stage::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:radial-gradient(55% 42% at 50% 64%,rgba(255,196,110,.14),transparent 70%);transition:opacity .8s}
.pc-stage::after{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;opacity:0;transition:opacity 1.2s;
 background:radial-gradient(48% 40% at 50% 46%,rgba(255,206,130,.22),transparent 72%),conic-gradient(from 200deg at 50% 46%,transparent 0 12%,rgba(255,220,150,.07) 15%,transparent 19% 31%,rgba(255,220,150,.06) 34%,transparent 38% 62%,rgba(255,220,150,.07) 66%,transparent 70% 82%,rgba(255,220,150,.06) 85%,transparent 89%)}
.pc-stage.pc--out::after{opacity:1}
.pc-dust{position:absolute;inset:0;width:100%;height:100%;z-index:6;pointer-events:none}

/* 信封：正面 = 卡包封面（黑底 + 盾徽标题），封口三角先盖住、进入视野后翻开到后面 */
.pc-env::after{content:"";position:absolute;left:6%;right:6%;bottom:-7%;height:12%;z-index:0;border-radius:50%;background:radial-gradient(closest-side,rgba(0,0,0,.75),transparent);filter:blur(6px);transition:opacity 1.2s ease}
.pc-env{position:absolute;left:50%;bottom:7%;width:42%;aspect-ratio:1843/1252;transform:translateX(-50%);perspective:1600px;z-index:2;touch-action:none;cursor:grab;transition:transform .8s cubic-bezier(.4,0,.2,1)}
.pc-env.is-out{transform:translateX(-50%) translateY(var(--drop,0px))}
.pc-front{transition:opacity .35s ease,filter .35s ease}
.pc-env.is-gone .pc-front,.pc-env.is-gone .pc-flap{opacity:0;filter:blur(5px);transition:transform .9s cubic-bezier(.5,0,.2,1),opacity 1.1s ease,filter 1.1s ease}
.pc-env.is-gone::after{opacity:0}
.pc-env.is-gone{pointer-events:none}
.pc--drag .pc-env{cursor:grabbing}
.pc--out .pc-env{cursor:default}
.pc-front{position:absolute;inset:0;z-index:3;border-radius:6px;overflow:hidden;background:#080808;
 box-shadow:0 2px 0 rgba(255,255,255,.04),0 36px 60px -24px rgba(0,0,0,.95),0 14px 22px -14px rgba(0,0,0,.9)}
.pc-paper{position:absolute;inset:0;width:100%;height:100%;display:block}
.pc-front::after{content:"";position:absolute;left:0;right:0;top:0;height:10%;z-index:2;pointer-events:none;background:linear-gradient(rgba(0,0,0,.6),transparent)}
.pc-mark{position:absolute;left:28.43%;top:18.13%;width:44.6%;height:auto;pointer-events:none;z-index:1;filter:drop-shadow(0 1px 0 rgba(0,0,0,.9)) drop-shadow(0 -1px 0 rgba(255,255,255,.06))}
.pc-flap{position:absolute;left:0;right:0;bottom:100%;height:44%;z-index:4;transform-origin:50% 100%;transform:rotateX(180deg);transform-style:preserve-3d;transition:transform .9s cubic-bezier(.5,0,.2,1),opacity .35s ease,filter .35s ease}
.pc-flap__in,.pc-flap__out{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden}
/* 内侧（翻开后看到）：金线勾边的菱纹内衬 */
.pc-flap__in{clip-path:polygon(0 100%,50% 0,100% 100%);background:linear-gradient(to top,#121212,#0b0b0b 60%,#080808)}
.pc-flap__in::before{content:"";position:absolute;inset:0;clip-path:polygon(5% 100%,50% 7%,95% 100%);background:rgba(201,163,90,.55)}
.pc-flap__in::after{content:"";position:absolute;inset:0;clip-path:polygon(5.6% 100%,50% 8.4%,94.4% 100%);
 background:linear-gradient(to top,rgba(0,0,0,.6),transparent 26%),repeating-linear-gradient(58deg,rgba(201,163,90,.09) 0 1px,transparent 1px 13px),repeating-linear-gradient(-58deg,rgba(201,163,90,.09) 0 1px,transparent 1px 13px),radial-gradient(70% 90% at 50% 100%,#1a1712,#0c0b09)}
/* 外侧（合上时看到）：哑光黑，尖角处压一枚金色火漆 */
.pc-flap__out{transform:rotateX(180deg);clip-path:polygon(0 0,50% 100%,100% 0);background:linear-gradient(to bottom,#161616,#0d0d0d 70%);box-shadow:inset 0 -1px 0 rgba(255,255,255,.04)}
.pc-seal{position:absolute;left:50%;top:-20%;width:16%;aspect-ratio:1;translate:-50% 0;transform:rotateX(180deg);backface-visibility:hidden;-webkit-backface-visibility:hidden;display:grid;place-items:center;border-radius:50%;
 background:radial-gradient(circle at 36% 30%,#f7e0a0 0%,#d7a84b 34%,#a0711f 70%,#6e4a12 100%);box-shadow:0 4px 10px rgba(0,0,0,.65),inset 0 -3px 6px rgba(0,0,0,.35),inset 0 2px 3px rgba(255,244,210,.55)}
.pc-seal::before{content:"";position:absolute;inset:-7%;z-index:-1;border-radius:47% 53% 49% 51%/53% 47% 52% 48%;background:radial-gradient(circle at 40% 35%,#c99a3e,#7a5214 80%);box-shadow:0 3px 8px rgba(0,0,0,.6)}
.pc-seal::after{content:"";position:absolute;inset:12%;border-radius:50%;border:1px solid rgba(90,58,10,.45);box-shadow:inset 0 1px 0 rgba(255,240,200,.35)}
.pc-seal img{width:44%;height:auto;filter:grayscale(1) contrast(1.6) brightness(.55);mix-blend-mode:multiply;opacity:.75}
.pc-env.is-open .pc-flap{transform:rotateX(0deg)}
.pc-env.flap-behind .pc-flap{z-index:1}

/* 明信片 */
.pc-card{position:absolute;left:4%;top:5%;width:92%;z-index:2;transform-origin:50% 50%}
.pc-env.is-free .pc-card{z-index:5}
.pc-card__in{position:relative;border-radius:3px;overflow:hidden;box-shadow:0 12px 30px -10px rgba(0,0,0,.85);transition:box-shadow .8s}
.pc--out .pc-card__in{box-shadow:0 40px 80px -24px rgba(0,0,0,.95),0 0 0 1px rgba(255,226,160,.25),0 0 60px -10px rgba(255,190,90,.35)}
.pc-card__in img{display:block;width:100%;height:auto;pointer-events:none}
.pc-sheen{position:absolute;inset:0;pointer-events:none;mix-blend-mode:screen;background-size:260% 100%;background-position:var(--sx,130%) 0;
 background-image:linear-gradient(112deg,transparent 38%,rgba(255,238,196,.0) 44%,rgba(255,238,196,.45) 50%,rgba(255,238,196,0) 56%,transparent 62%)}

/* 问号卡（待揭开）：哑光深色卡面、烫金细框与菱格暗纹，金色问号；明信片出袋后扇形飞出 */
.pc-mys{position:absolute;left:4%;top:5%;width:92%;aspect-ratio:1750/1125;z-index:2;transform-origin:50% 50%;container-type:inline-size;pointer-events:none}
.pc--out .pc-mys,.pc--out .pc-card{pointer-events:auto;cursor:grab;touch-action:none}
.pc--out .pc-mys.is-grab,.pc--out .pc-card.is-grab{cursor:grabbing}
.pc-env.is-free .pc-mys.is-top{z-index:6}
.pc-mys.is-grab .pc-mys__in,.pc-mys.is-top .pc-mys__in{box-shadow:0 34px 60px -18px rgba(0,0,0,.95),0 0 0 1px rgba(255,214,130,.7),0 0 46px -8px rgba(255,190,90,.5)}
.pc-card__in img{transition:filter .5s ease}
.pc--focus .pc-card__in img{filter:brightness(.45) saturate(.7)}
.pc-mys__in{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2cqw;border-radius:3px;overflow:hidden;
 background:repeating-linear-gradient(45deg,rgba(232,184,74,.035) 0 1px,transparent 1px 22px),repeating-linear-gradient(-45deg,rgba(232,184,74,.035) 0 1px,transparent 1px 22px),radial-gradient(85% 75% at 50% 42%,#221c14 0%,#0d0b08 72%);
 box-shadow:0 22px 44px -18px rgba(0,0,0,.95),0 0 0 1px rgba(232,184,74,.4);transition:translate .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s}
.pc-mys__in::before{content:"";position:absolute;inset:4.5%;border:1px solid rgba(232,184,74,.32);border-radius:2px;pointer-events:none}
.pc-mys__in::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(110deg,transparent 38%,rgba(255,230,170,.14) 50%,transparent 62%) 0 0/260% 100%;animation:pc-shim 3.4s linear infinite}
.pc-mys:nth-child(3) .pc-mys__in::after{animation-delay:-.9s}.pc-mys:nth-child(4) .pc-mys__in::after{animation-delay:-1.8s}.pc-mys:nth-child(5) .pc-mys__in::after{animation-delay:-2.6s}
@keyframes pc-shim{from{background-position:130% 0}to{background-position:-30% 0}}
.pc-mys b{position:relative;font-family:var(--font-serif);font-size:30cqw;line-height:.9;font-weight:700;background:linear-gradient(180deg,#fff0c4 0%,#e8b84a 55%,#9c6c1c 100%);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 0 2.4cqw rgba(232,184,74,.45));animation:pc-q 2.8s ease-in-out infinite}
.pc-mys:nth-child(3) b{animation-delay:-.7s}.pc-mys:nth-child(4) b{animation-delay:-1.4s}.pc-mys:nth-child(5) b{animation-delay:-2.1s}
@keyframes pc-q{0%,100%{filter:drop-shadow(0 0 1.6cqw rgba(232,184,74,.35))}50%{filter:drop-shadow(0 0 4cqw rgba(255,206,110,.7))}}
.pc-mys small{position:relative;font-size:3.4cqw;letter-spacing:.5em;color:rgba(232,184,74,.7)}
.pc--out .pc-mys:hover .pc-mys__in{translate:0 -5%;box-shadow:0 30px 50px -18px rgba(0,0,0,.95),0 0 0 1px rgba(255,214,130,.75),0 0 40px -6px rgba(255,190,90,.55)}

/* 参与方式：三步 */
.pc-steps__title{margin:26px 0 14px}
.pc-steps{list-style:none;margin:0 0 6px;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;counter-reset:none}
.pc-steps li{position:relative;padding:18px 18px 16px 70px;border:1px solid var(--line);border-radius:var(--radius,8px);background:var(--panel);min-height:96px}
.pc-steps li+li::before{content:"";position:absolute;left:-14px;top:50%;width:14px;height:1px;background:linear-gradient(90deg,transparent,#c9a35a)}
.pc-steps__no{position:absolute;left:16px;top:16px;width:40px;height:40px;display:grid;place-items:center;border-radius:50%;font-family:var(--font-serif);font-size:19px;font-weight:700;color:#1a1208;
 background:radial-gradient(circle at 36% 30%,#f7e0a0,#d7a84b 45%,#a0711f);box-shadow:0 3px 8px -2px rgba(120,80,20,.5),inset 0 1px 1px rgba(255,244,210,.6)}
.pc-steps h4{margin:0 0 6px;font-family:var(--font-serif);font-size:16px;letter-spacing:.08em;color:var(--text)}
.pc-steps p{margin:0;font-size:14px;line-height:1.75;color:var(--text-dim)}
@media (max-width:760px){.pc-steps{grid-template-columns:minmax(0,1fr);gap:10px}.pc-steps li+li::before{display:none}}

/* 落款：居中的金线引语 */
.pc-sign{margin:0;padding:6px 0 4px;text-align:center}
.pc-sign blockquote{position:relative;display:inline-block;margin:0;padding:0 48px;font-family:var(--font-serif);font-size:clamp(18px,2.2vw,22px);font-weight:600;letter-spacing:.16em;line-height:1.6;color:var(--text)}
.pc-sign blockquote::before,.pc-sign blockquote::after{content:"";position:absolute;top:50%;width:32px;height:1px;background:linear-gradient(90deg,transparent,#c9a35a)}
.pc-sign blockquote::before{left:0}
.pc-sign blockquote::after{right:0;transform:scaleX(-1)}
.pc-sign figcaption{margin-top:8px;font-size:13px;letter-spacing:.22em;color:#b08a3e}
@media (max-width:640px){.pc-sign blockquote{padding:0 30px;letter-spacing:.08em}.pc-sign blockquote::before,.pc-sign blockquote::after{width:20px}.pc-sign figcaption{letter-spacing:.1em}}

/* 文案与按钮 */
.pc-hint2,.pc-tip{position:absolute;left:0;right:0;bottom:22px;z-index:7;margin:0;text-align:center;font-size:13px;letter-spacing:.18em;pointer-events:none;opacity:0;transition:opacity .5s}
.pc-hint2{color:rgba(243,231,204,.6)}
.pc--gone:not(.pc--focus) .pc-hint2{opacity:1;transition-delay:.8s}
.pc-tip{color:#f0d9a4;font-family:var(--font-serif);font-size:15px;letter-spacing:.3em;text-shadow:0 0 18px rgba(232,184,74,.5)}
.pc--focus .pc-tip{opacity:1}
.pc-top{position:absolute;left:18px;top:16px;z-index:7;display:flex;flex-direction:column;gap:4px;color:#f3e7cc;opacity:0;transform:translateY(-6px);transition:opacity .6s .3s,transform .6s .3s;pointer-events:none}
.pc--out .pc-top{opacity:1;transform:none}
.pc-top b{font-family:var(--font-serif);font-size:16px;font-weight:600;letter-spacing:.24em}
.pc-top span{font-family:var(--font-mono,Consolas,monospace);font-size:12px;letter-spacing:.12em;color:#e8b84a}
.pc-hint{position:absolute;left:0;right:0;bottom:2.4%;z-index:7;margin:0;text-align:center;font-size:13px;letter-spacing:.2em;color:rgba(243,231,204,.7);pointer-events:none;transition:opacity .4s}
.pc-hint i{display:inline-block;width:8px;height:8px;margin-right:10px;border-left:2px solid #e8b84a;border-top:2px solid #e8b84a;transform:translateY(2px) rotate(45deg);animation:pc-up 1.6s ease-in-out infinite}
@keyframes pc-up{0%,100%{translate:0 2px;opacity:.5}50%{translate:0 -3px;opacity:1}}
.pc--out .pc-hint,.pc--drag .pc-hint{opacity:0}
.pc-btn{position:absolute;right:14px;bottom:14px;z-index:8;padding:7px 15px;border:1px solid rgba(232,184,74,.55);border-radius:999px;background:rgba(18,14,10,.72);color:#f0d9a4;font:inherit;font-size:13px;letter-spacing:.12em;cursor:pointer;transition:opacity .3s,background .2s;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.pc-btn:hover{background:rgba(40,30,18,.85)}
.pc-btn:focus-visible{outline:2px solid #e8b84a;outline-offset:2px}
.pc-btn--back,.pc--out .pc-btn:not(.pc-btn--back){opacity:0;pointer-events:none}
.pc--out .pc-btn--back{opacity:1;pointer-events:auto}
.pc-status{border-color:color-mix(in srgb,#e8b84a 60%,transparent)!important;color:#c9962e!important}
.pc-status::before{background:#e8b84a!important}

@media (max-width:640px){
 .pc-stage{aspect-ratio:4/5}
 .pc-env{width:74%;bottom:9%}
 .pc-top{left:12px;top:12px}
 .pc-top b{font-size:14px}
 .pc-hint{bottom:22px;padding-left:16px;text-align:left;font-size:12px;letter-spacing:.1em}
 .pc-btn{padding:6px 12px;font-size:12px}
 .pc-hint2,.pc-tip{bottom:58px;letter-spacing:.1em}
 .pc-tip{font-size:14px}
}
@media (prefers-reduced-motion:reduce){.pc-hint i,.pc-mys__in::after,.pc-mys b{animation:none}}

/* 玩法文档「国家与战争」顶部的战争系统图解：沿用村民图解（.vg-*）的样式，这里只放差异 */
.wg-wrap{margin:0 0 30px}
.wg .vg-stage{max-height:540px}
.wg .vg-tabs{overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.wg .vg-tabs::-webkit-scrollbar{display:none}
.wg .vg-tab{padding:5px 11px;letter-spacing:.06em}
.wg .vg-cap{min-height:66px}
@container (max-width:560px){
 .wg .vg-stage{aspect-ratio:1/1}
 .wg .vg-tab{padding:4px 8px}
 .wg .vg-top{left:6px;top:6px;padding:3px 8px}
 .wg .vg-top b{font-size:12px}
}

/* 机制改动：斧技破甲示意（简易动画） */
.ax{--ax-ice:#8fd3e8;--ax-ice2:#4f9db8;--ax-hit:#ff8a5c;margin:0;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:var(--panel)}
.ax-stage{display:grid;grid-template-columns:minmax(0,190px) minmax(0,1fr);gap:18px;align-items:center;padding:18px 20px;background:radial-gradient(120% 140% at 0% 0%,#3a2a1c,#1d150e 70%);color:#f3e7cc}
.ax-left{display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center}
.ax-axe{width:92px;height:92px;overflow:visible}
.ax-axe g{transform-origin:14px 56px;animation:ax-swing .55s cubic-bezier(.3,.1,.3,1) both}
.ax-handle{fill:none;stroke:#9a6b3f;stroke-width:5;stroke-linecap:round}
.ax-blade{fill:#cfd6dc;stroke:#7d868d;stroke-width:1.5;stroke-linejoin:round}
.ax-edge{fill:none;stroke:#fff;stroke-width:1.6;stroke-linecap:round;opacity:.85}
.ax-lvname{margin:0;font-family:var(--font-serif);font-size:15px;letter-spacing:.14em}
.ax-lvname b{font-size:20px;color:#f0c46a}
.ax-result{margin:0;min-height:1.6em;font-size:12px;letter-spacing:.04em;color:rgba(243,231,204,.72);animation:ax-fade .4s ease both}
.ax-armor{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:9px}
.ax-piece{position:relative;display:grid;grid-template-columns:26px 2.6em minmax(0,1fr) 3.6em;gap:10px;align-items:center;font-size:13px}
.ax-icon{width:26px;height:26px;fill:var(--ax-ice);stroke:var(--ax-ice2);stroke-width:1;stroke-linejoin:round}
.ax-piece.is-hit .ax-icon{animation:ax-shake .45s ease .22s both}
.ax-pname{color:rgba(243,231,204,.85);letter-spacing:.08em}
.ax-bar{display:block;height:8px;border-radius:4px;background:rgba(255,255,255,.12);overflow:hidden}
.ax-bar i{display:block;height:100%;border-radius:4px;background:linear-gradient(90deg,var(--ax-ice2),var(--ax-ice));transition:width .35s ease .25s}
.ax-pop{justify-self:end;font-family:var(--font-mono);font-size:15px;color:var(--ax-hit);animation:ax-pop .9s ease .22s both}
.ax-miss{justify-self:end;font-size:11px;color:rgba(243,231,204,.38)}
.ax-ctrl{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;padding:10px 14px;border-top:1px solid var(--line)}
.ax-tabs{display:flex;gap:6px}
.ax-tab,.ax-swing{padding:5px 13px;border:1px solid var(--line);border-radius:999px;background:none;color:var(--text-dim);font:inherit;font-size:13px;letter-spacing:.06em;cursor:pointer;transition:border-color .2s,color .2s,background .2s}
.ax-tab:hover,.ax-swing:hover{border-color:var(--accent);color:var(--text)}
.ax-tab.is-on{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 14%,transparent);color:var(--text)}
.ax-swing{border-color:color-mix(in srgb,var(--accent) 60%,transparent);color:var(--accent)}
.ax-tab:focus-visible,.ax-swing:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.ax-cap{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 18px;margin:0;padding:10px 14px;border-top:1px solid var(--line);border-left:3px solid var(--accent);font-size:13px;line-height:1.7;color:var(--text)}
.ax-cap b{color:var(--accent)}
.ax-cap em{margin-left:auto;font-style:normal;font-size:11px;color:var(--text-mute)}
@keyframes ax-swing{0%{transform:rotate(-58deg)}55%{transform:rotate(24deg)}75%{transform:rotate(14deg)}100%{transform:rotate(0)}}
@keyframes ax-shake{0%,100%{transform:translateX(0)}25%{transform:translateX(-3px) rotate(-6deg)}60%{transform:translateX(3px) rotate(5deg)}}
@keyframes ax-pop{0%{opacity:0;transform:translateY(6px) scale(.8)}25%{opacity:1;transform:translateY(-2px) scale(1.15)}100%{opacity:1;transform:none}}
@keyframes ax-fade{from{opacity:0}to{opacity:1}}
@media (max-width:640px){.ax-stage{grid-template-columns:minmax(0,1fr);gap:12px;padding:14px}.ax-left{flex-direction:row;justify-content:center;gap:12px;flex-wrap:wrap}.ax-axe{width:60px;height:60px}.ax-result{flex-basis:100%}.ax-cap em{margin-left:0}}
@media (prefers-reduced-motion:reduce){.ax-axe g,.ax-icon,.ax-pop,.ax-result{animation:none!important}.ax-bar i{transition:none}}

/* 领地工坊 · WebGL 沙盘（更新通知头图）。HUD 颜色取站点变量，白昼 / 夜读自动适配 */
.gf{--gf-gold:#e8b84a;--gf-glass:color-mix(in srgb,var(--bg) 70%,transparent);--gf-glass-2:color-mix(in srgb,var(--bg) 84%,transparent);--gf-edge:color-mix(in srgb,var(--line) 85%,transparent);
 position:relative;container-type:inline-size;border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden;background:#0b0d10;isolation:isolate}
html[data-theme=day] .gf{--gf-gold:#8a5a12}
.gf-stage{position:relative;aspect-ratio:16/9;min-height:440px;max-height:82vh;width:100%}
.gf-canvas{position:absolute;inset:0;width:100%;height:100%;display:block;cursor:grab;touch-action:pan-y;outline:none}
.gf-canvas:active{cursor:grabbing}
.gf-labels{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:1}
.gf-label{position:absolute;left:0;top:0;display:flex;flex-direction:column;align-items:center;gap:3px;padding:5px 10px 6px;white-space:nowrap;opacity:0;transition:opacity .35s;will-change:transform;
 background:var(--gf-glass);border:1px solid color-mix(in srgb,var(--c,#fff) 55%,transparent);border-radius:3px;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);box-shadow:0 6px 18px -10px rgba(0,0,0,.6)}
.gf-label::after{content:"";position:absolute;left:50%;bottom:-6px;width:1px;height:6px;background:color-mix(in srgb,var(--c,#fff) 70%,transparent)}
.gf-label b{font-family:var(--font-serif);font-size:13px;letter-spacing:.18em;color:var(--text)}
.gf-label span{font-size:11px;letter-spacing:.08em;color:var(--text-mute);font-variant-numeric:tabular-nums}
.gf-label.is-on{border-color:var(--c);box-shadow:0 0 0 1px color-mix(in srgb,var(--c) 40%,transparent),0 8px 22px -8px color-mix(in srgb,var(--c) 70%,transparent)}
.gf-label span{display:none}
.gf-label.is-on span,.gf-label.is-full span,.gf-label.is-busy span,.gf-label--bank span{display:block}
.gf-label.is-full span{color:#e4614a}
.gf-label--bank{--c:var(--gf-gold)}
.gf-label--bank span{color:var(--gf-gold);font-family:var(--font-mono)}
.gf-pop{position:absolute;left:0;top:0;font-family:var(--font-mono);font-size:14px;font-weight:700;color:#ffd36a;text-shadow:0 1px 6px rgba(0,0,0,.7);pointer-events:none;white-space:nowrap}

.gf-hud{position:absolute;inset:0;z-index:2;pointer-events:none;display:flex;flex-direction:column;justify-content:space-between;padding:16px 18px}
.gf-hud::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(rgba(5,7,10,.5),transparent 26%,transparent 72%,rgba(5,7,10,.55))}
.gf-top{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}
.gf-brand{display:flex;flex-direction:column;gap:6px;color:#f4ecd8;text-shadow:0 2px 12px rgba(0,0,0,.55)}
.gf-kicker{display:inline-flex;align-items:center;gap:8px;align-self:flex-start;padding:3px 10px 3px 8px;border:1px solid rgba(240,200,110,.6);border-radius:999px;font-size:12px;letter-spacing:.14em;color:#f0c86e;background:rgba(10,10,12,.35)}
.gf-kicker i{width:7px;height:7px;border-radius:50%;background:#f0c86e;animation:gf-pulse 2.2s infinite}
@keyframes gf-pulse{0%{box-shadow:0 0 0 0 rgba(240,200,110,.6)}70%{box-shadow:0 0 0 8px transparent}100%{box-shadow:0 0 0 0 transparent}}
.gf-title{font-family:var(--font-serif);font-size:clamp(30px,4.6cqi,54px);font-weight:700;letter-spacing:.24em;line-height:1.1}
.gf-sub{font-size:13px;letter-spacing:.16em;color:rgba(244,236,216,.82)}
.gf-res{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.gf-chip{display:flex;flex-direction:column;gap:2px;padding:7px 12px;min-width:96px;background:var(--gf-glass);border:1px solid var(--gf-edge);border-radius:4px;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.gf-chip small,.gf-chip--clock small{font-size:11px;letter-spacing:.12em;color:var(--text-mute)}
.gf-chip b{font-family:var(--font-mono);font-size:15px;color:var(--text);font-variant-numeric:tabular-nums}
.gf-chip--bank b{color:var(--gf-gold)}
.gf-chip--clock{flex-direction:row;align-items:center;gap:10px}
.gf-chip--clock>span{display:flex;flex-direction:column;gap:2px}
.gf-sun{width:16px;height:16px;border-radius:50%;background:radial-gradient(circle,#ffe39a 35%,#f5a623 70%);box-shadow:0 0 12px rgba(255,190,80,.8);transition:all .6s}
.gf-sun.is-night{background:radial-gradient(circle at 35% 35%,#e8eefc 45%,#9fb0d8);box-shadow:0 0 10px rgba(170,190,255,.6)}
.gf-steps{position:absolute;left:18px;top:50%;transform:translateY(-50%);list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;counter-reset:gfs}
.gf-steps li{counter-increment:gfs;display:flex;align-items:center;gap:8px;font-size:12px;letter-spacing:.14em;color:rgba(244,236,216,.5);text-shadow:0 1px 6px rgba(0,0,0,.6);transition:color .4s}
.gf-steps li::before{content:counter(gfs);display:grid;place-items:center;width:20px;height:20px;border-radius:50%;border:1px solid currentColor;font-family:var(--font-mono);font-size:11px;letter-spacing:0;transition:all .4s}
.gf-steps li.is-on{color:#f4e2b0}
.gf-steps li.is-on::before{background:#e8b84a;border-color:#e8b84a;color:#1b1206;box-shadow:0 0 14px rgba(232,184,74,.7)}
.gf-bottom{display:flex;align-items:flex-end;justify-content:space-between;gap:12px}
.gf-tabs{display:flex;gap:6px;flex-wrap:wrap;pointer-events:auto}
.gf-tab{display:inline-flex;align-items:center;gap:7px;padding:7px 12px;border:1px solid var(--gf-edge);border-radius:999px;background:var(--gf-glass);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
 color:var(--text-dim);font:inherit;font-size:13px;letter-spacing:.08em;cursor:pointer;transition:all .2s}
.gf-tab i{width:8px;height:8px;border-radius:2px;background:var(--c);transform:rotate(45deg)}
.gf-tab em{font-style:normal;font-family:var(--font-mono);font-size:11px;color:var(--text-mute)}
.gf-tab:hover{color:var(--text);border-color:color-mix(in srgb,var(--c,var(--accent)) 60%,transparent)}
.gf-tab.is-on{color:var(--text);background:var(--gf-glass-2);border-color:var(--c,var(--accent));box-shadow:0 0 0 1px color-mix(in srgb,var(--c,var(--accent)) 35%,transparent)}
.gf-tab:focus-visible,.gf-replay:focus-visible,.gf-btn:focus-visible,.gf-pd:focus-visible,.gf-x:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.gf-replay{pointer-events:auto;flex:none;padding:7px 12px;border:1px solid var(--gf-edge);border-radius:999px;background:var(--gf-glass);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:var(--text-dim);font:inherit;font-size:12px;letter-spacing:.1em;cursor:pointer}
.gf-replay:hover{color:var(--text)}
.gf-hint{position:absolute;left:50%;bottom:62px;white-space:nowrap;transform:translateX(-50%);font-size:12px;letter-spacing:.16em;color:rgba(244,236,216,.7);text-shadow:0 1px 6px rgba(0,0,0,.7);transition:opacity .5s}
.gf--sel .gf-hint{opacity:0}
.gf-toast{position:absolute;left:50%;top:84px;transform:translate(-50%,-8px);max-width:min(90%,560px);padding:9px 16px;border:1px solid color-mix(in srgb,var(--gf-gold) 60%,transparent);border-radius:4px;background:var(--gf-glass-2);
 backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:var(--text);font-size:13px;letter-spacing:.06em;text-align:center;opacity:0;transition:all .3s;pointer-events:none}
.gf-toast.is-on{opacity:1;transform:translate(-50%,0)}

/* 工坊面板：宽卡片悬浮在右侧，窄屏放到画面下方 */
.gf-panel{display:none;flex-direction:column;gap:12px;padding:16px 16px 14px;background:var(--panel);color:var(--text)}
.gf--sel .gf-panel{display:flex}
.gf-ph{display:flex;align-items:center;gap:10px}
.gf-ph>div{flex:1;display:flex;flex-direction:column;gap:2px}
.gf-ph b{font-family:var(--font-serif);font-size:19px;letter-spacing:.14em}
.gf-ph small{font-size:12px;color:var(--text-mute);letter-spacing:.08em}
.gf-dot{width:12px;height:12px;background:var(--c);transform:rotate(45deg);border-radius:2px;box-shadow:0 0 10px color-mix(in srgb,var(--c) 70%,transparent)}
.gf-x{width:30px;height:30px;border:1px solid var(--line);border-radius:50%;background:none;color:var(--text-mute);font-size:18px;line-height:1;cursor:pointer}
.gf-x:hover{color:var(--text);border-color:var(--text-mute)}
.gf-pdesc{margin:0;font-size:13px;line-height:1.75;color:var(--text-dim)}
.gf-lv{display:flex;align-items:center;gap:10px;padding:9px 12px;border:1px solid var(--line);border-radius:4px;background:color-mix(in srgb,var(--bg) 40%,transparent)}
.gf-lv>b{font-family:var(--font-mono);font-size:14px}
.gf-pips{display:flex;gap:4px}
.gf-pips i{width:14px;height:6px;border-radius:1px;background:var(--line)}
.gf-pips i.on{background:var(--gf-gold);box-shadow:0 0 8px color-mix(in srgb,var(--gf-gold) 60%,transparent)}
.gf-rate{margin-left:auto;font-size:12px;color:var(--text-mute)}
.gf-rate b{font-family:var(--font-mono);font-size:14px;color:var(--text)}
.gf-sec{display:flex;flex-direction:column;gap:7px}
.gf-sec>small{font-size:11px;letter-spacing:.14em;color:var(--text-mute)}
.gf-pds{display:flex;flex-wrap:wrap;gap:5px}
.gf-pd{display:inline-flex;align-items:center;gap:6px;padding:4px 9px;border:1px solid var(--line);border-radius:3px;background:none;color:var(--text-dim);font:inherit;font-size:12px;cursor:pointer}
.gf-pd i{width:10px;height:10px;background:var(--c);border-radius:1px;box-shadow:inset 0 0 0 1px rgba(0,0,0,.25)}
.gf-pd em{font-style:normal;font-size:10px;color:var(--text-mute);font-family:var(--font-mono)}
.gf-pd:hover:not(:disabled){border-color:var(--text-mute);color:var(--text)}
.gf-pd.is-on{border-color:var(--accent);color:var(--text);background:color-mix(in srgb,var(--accent) 12%,transparent)}
.gf-pd:disabled{opacity:.5;cursor:not-allowed}
.gf-pd:disabled i{filter:grayscale(1)}
.gf-bar{height:6px;border-radius:3px;background:color-mix(in srgb,var(--text) 12%,transparent);overflow:hidden}
.gf-bar i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--accent),var(--gf-gold));transition:width .3s}
.gf-store{display:flex;justify-content:space-between;align-items:baseline;font-size:12px;color:var(--text-mute)}
.gf-store b{font-family:var(--font-mono);font-size:14px;color:var(--text)}
.gf-store em{font-style:normal;letter-spacing:.1em;color:var(--accent)}
.gf-store em.is-full{color:#d9533e}
.gf-btn{display:flex;flex-direction:column;align-items:center;gap:2px;width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:4px;background:color-mix(in srgb,var(--bg) 30%,transparent);color:var(--text);font:inherit;font-size:14px;letter-spacing:.12em;cursor:pointer;transition:all .2s}
.gf-btn small{font-size:11px;letter-spacing:.04em;color:var(--text-mute)}
.gf-btn:hover:not(:disabled){border-color:var(--text-mute)}
.gf-btn:disabled{opacity:.45;cursor:not-allowed}
.gf-btn--up{border-color:color-mix(in srgb,var(--gf-gold) 70%,transparent);background:linear-gradient(180deg,color-mix(in srgb,var(--gf-gold) 22%,transparent),color-mix(in srgb,var(--gf-gold) 8%,transparent))}
.gf-btn--up span{font-family:var(--font-serif);font-weight:700}
.gf-btn--up:hover{box-shadow:0 0 18px -4px color-mix(in srgb,var(--gf-gold) 70%,transparent)}
.gf-btn--up.is-off{border-color:var(--line);background:none}
.gf-btn--up.is-off span{color:var(--text-mute)}
.gf-max{padding:9px;text-align:center;font-size:13px;letter-spacing:.14em;color:var(--gf-gold);border:1px dashed color-mix(in srgb,var(--gf-gold) 50%,transparent);border-radius:4px}
.gf-pnote{margin:0;font-size:12px;line-height:1.7;color:var(--text-mute)}
.gf-nogl{position:absolute;inset:0;display:grid;place-items:center;margin:0;color:var(--text-mute);font-size:14px}

@container (min-width:820px){
 .gf-panel{position:absolute;z-index:3;right:16px;top:86px;bottom:66px;width:308px;overflow-y:auto;border:1px solid var(--gf-edge);border-radius:6px;background:var(--gf-glass-2);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 18px 40px -18px rgba(0,0,0,.7);scrollbar-width:thin}
 .gf--sel .gf-steps{opacity:0}
}
@container (max-width:819px){
 .gf-stage{aspect-ratio:4/5;min-height:0;max-height:none}
 .gf-steps{display:none}
 .gf-top{flex-direction:column;gap:10px}
 .gf-sub{display:none}
 .gf-title{font-size:28px;letter-spacing:.2em}
 .gf-res{justify-content:flex-start;flex-wrap:nowrap;gap:5px}
 .gf-chip{min-width:0;padding:4px 8px}
 .gf-chip small{font-size:10px;letter-spacing:.04em}
 .gf-chip b{font-size:12px}
 .gf-chip--clock{gap:6px}
 .gf-sun{width:11px;height:11px}
 .gf-toast{top:auto;bottom:110px}
 .gf-bottom{flex-direction:column;align-items:stretch}
 .gf-tabs{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin:0 -18px;padding:0 18px}
 .gf-tabs::-webkit-scrollbar{display:none}
 .gf-tab{flex:none}
 .gf-replay{align-self:flex-end;position:absolute;right:18px;bottom:62px}
 .gf-hint{bottom:auto;top:46%}
 .gf-panel{border-top:1px solid var(--line)}
 .gf-label b{font-size:12px;letter-spacing:.1em}
 .gf-label span{display:none}
}
/* 中等宽度（通知卡片内的桌面版）：舞台保持横向，避免竖版过高 */
@container (min-width:560px) and (max-width:819px){.gf-stage{aspect-ratio:4/3}}
@media (prefers-reduced-motion:reduce){.gf-kicker i{animation:none}}

/* 通知页：头图独占一行，放在对应更新条目之前 */
.rn-hero{list-style:none;margin:0 0 22px}

/* 会员月卡页 /premium */
.pm{--vip:#3fbf9f;--mvp:#8a8aff;--elite:#e8b44f;--pm-bg1:#121a24;--pm-bg2:#06080b;--pm-glass:rgba(255,255,255,.04)}
html[data-theme=day] .pm{--vip:#145244;--mvp:#34348c;--elite:#5c3a06;--pm-bg1:#d8c8a2;--pm-bg2:#b29c70;--pm-glass:rgba(255,248,230,.35)}
.pm-tier--vip{--t:var(--vip)}.pm-tier--mvp{--t:var(--mvp)}.pm-tier--elite{--t:var(--elite)}.pm-tier--base{--t:var(--text-mute)}
.pm-tc--vip{color:var(--vip)}.pm-tc--mvp{color:var(--mvp)}.pm-tc--elite{color:var(--elite)}
.pm code{font-family:var(--font-mono);font-size:.92em;padding:1px 6px;border-radius:3px;background:color-mix(in srgb,var(--text) 8%,transparent);color:var(--text)}
/* 页首 */
.pm-hero{position:relative;min-height:min(86vh,760px);display:flex;align-items:center;overflow:hidden;border-bottom:1px solid var(--line);background:radial-gradient(70% 90% at 72% 45%,var(--pm-bg1),transparent 70%),radial-gradient(120% 120% at 50% 0%,color-mix(in srgb,var(--elite) 10%,transparent),transparent 60%)}
.pm-hero__stage{position:absolute;top:0;right:0;width:60%;height:100%;-webkit-mask-image:radial-gradient(75% 70% at 55% 52%,#000 55%,transparent 100%);mask-image:radial-gradient(75% 70% at 55% 52%,#000 55%,transparent 100%)}
.pm-hero__stage.is-off{display:none}
.pm-hero__canvas{position:absolute;inset:0;width:100%;height:100%;display:block;touch-action:pan-y}
.pmb-labels{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.pmb-label{position:absolute;left:0;top:0;display:flex;flex-direction:column;align-items:center;gap:2px;white-space:nowrap;will-change:transform,opacity;transition:color .2s}
.pmb-label b{font-family:var(--font-serif);font-size:14px;font-weight:600;color:var(--text);letter-spacing:.08em}
.pmb-label span{font-size:11px;letter-spacing:.1em;color:var(--lvc);padding:1px 7px;border:1px solid color-mix(in srgb,var(--lvc) 50%,transparent);border-radius:999px}
.pmb-label.is-hi b{color:var(--lvc)}
.pmb-lv0{--lvc:var(--vip)}.pmb-lv1{--lvc:var(--mvp)}.pmb-lv2{--lvc:var(--elite)}
.pmt-label{position:absolute;left:0;top:0;display:flex;flex-direction:column;align-items:center;gap:3px;white-space:nowrap;will-change:transform;pointer-events:none}
.pmt-label b{font-family:var(--font-serif);font-size:15px;letter-spacing:.14em;color:var(--t)}
.pmt-label span{font-size:12px;color:var(--text-mute);letter-spacing:.06em}
.pmt-label.is-hi b{text-shadow:0 0 12px color-mix(in srgb,var(--t) 60%,transparent)}
@media (max-width:640px){.pmt-label{display:none}}
.pm-hero__legend{position:absolute;right:8%;bottom:7%;display:flex;gap:14px;font-size:12px;letter-spacing:.1em}
.pm-hero__legend span{display:flex;align-items:center;gap:6px;color:var(--text-mute)}
.pm-hero__legend span::before{content:"";width:16px;height:6px;border-radius:3px;background:var(--lvc);box-shadow:0 0 8px var(--lvc)}
/* 选卡上的冷却条 */
.pm-plan__cd{display:grid;grid-template-columns:auto 1fr;grid-template-areas:"l v" "bar bar" "s s";align-items:baseline;gap:4px 10px;margin:0 0 14px;padding:12px 14px;border-radius:10px;background:color-mix(in srgb,var(--t) 10%,transparent);border:1px solid color-mix(in srgb,var(--t) 30%,transparent)}
.pm-plan__cd>span{grid-area:l;font-size:13px;color:var(--text-dim);letter-spacing:.1em}
.pm-plan__cd>b{grid-area:v;justify-self:end;font-family:var(--font-serif);font-size:30px;line-height:1;color:var(--t)}
.pm-plan__cd>b small{font-size:13px;color:var(--text-dim)}
.pm-plan__cd>i{grid-area:bar;display:block;height:6px;border-radius:3px;background:color-mix(in srgb,var(--text) 10%,transparent);overflow:hidden}
.pm-plan__cd>i em{display:block;height:100%;width:calc(var(--w)*100%);background:var(--t);border-radius:3px}
.pm-plan__cd>small{grid-area:s;font-size:11.5px;color:var(--text-mute)}
/* 像素图标 */
.pm-icon{margin:0;display:flex;flex-direction:column;align-items:center;gap:6px}
.pm-icon img{width:64px;height:64px;image-rendering:auto;filter:drop-shadow(0 6px 8px rgba(0,0,0,.28));transition:transform .3s}
.pm-tools__item:hover .pm-icon img{transform:translateY(-4px) rotate(-3deg)}
.pm-icon figcaption{font-size:12.5px;color:var(--text)}
/* 副本冷却 */
.pm-cool{background:radial-gradient(60% 80% at 25% 50%,color-mix(in srgb,var(--elite) 9%,transparent),transparent 70%);border-bottom:1px solid var(--line)}
.pm-cool__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;align-items:center}
.pm-cool__dial{position:relative;aspect-ratio:1;width:100%;max-width:520px;margin:auto}
.pm-cool__dial canvas{position:absolute;inset:0;width:100%;height:100%;display:block}
.pm-cool__dial.is-off canvas{display:none}
.pm-cool__center{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:none;padding-top:22%}
.pm-cool__center b{font-family:var(--font-serif);font-size:clamp(28px,4vw,40px);color:var(--text);font-variant-numeric:tabular-nums;line-height:1}
.pm-cool__center span{font-size:12px;color:var(--text-mute);letter-spacing:.12em;margin-top:4px}
.pm-cool__list{list-style:none;margin:18px 0;padding:0;display:grid;gap:10px}
.pm-cool__list li{display:grid;grid-template-columns:14px 1fr auto;align-items:center;gap:14px;padding:12px 16px;border-radius:10px;border:1px solid color-mix(in srgb,var(--t) 30%,var(--line));background:color-mix(in srgb,var(--t) 6%,var(--panel))}
.pm-cool__list li>i{width:12px;height:12px;border-radius:50%;background:var(--t);box-shadow:0 0 10px var(--t)}
.pm-cool__list b{display:block;font-family:var(--font-serif);font-size:16px;color:var(--t)}
.pm-cool__list .pm-tier--base b{color:var(--text-dim)}
.pm-cool__list span{font-size:12.5px;color:var(--text-mute)}
.pm-cool__count{margin:0;text-align:right}
.pm-cool__count em{font-style:normal;font-family:var(--font-serif);font-size:30px;font-weight:700;color:var(--t);display:inline-block}
.pm-cool__count small{font-size:13px;color:var(--text-dim)}
.pm-cool__count.is-pop em{animation:pm-pop .6s cubic-bezier(.2,1.6,.4,1)}
@keyframes pm-pop{0%{transform:scale(1.7)}100%{transform:scale(1)}}
.pm-cool__punch{display:flex;align-items:center;gap:16px;padding:16px 18px;border-radius:12px;background:linear-gradient(110deg,color-mix(in srgb,var(--elite) 16%,var(--panel)),var(--panel));border:1px solid color-mix(in srgb,var(--elite) 45%,var(--line))}
.pm-cool__punch b{font-family:var(--font-serif);font-size:30px;white-space:nowrap;color:var(--elite)}
.pm-cool__punch span{font-size:14px;line-height:1.7;color:var(--text-dim)}
.pm-hero__inner{position:relative;z-index:1;width:100%;padding-top:64px;padding-bottom:72px;pointer-events:none}
.pm-hero__inner>*{pointer-events:auto;max-width:min(480px,40vw)}
@media (max-width:980px){.pm-hero__inner>*{max-width:none}}
.pm-eyebrow{font-size:12px;letter-spacing:.24em;color:var(--elite);margin:14px 0 18px}
.pm-hero__title{font-family:var(--font-serif);font-weight:700;font-size:clamp(46px,6.4vw,84px);line-height:1.05;letter-spacing:.08em;margin:0 0 22px;color:var(--text)}
.pm-hero__title small{display:block;font-size:.42em;letter-spacing:.3em;margin-top:16px;background:linear-gradient(90deg,var(--vip),var(--mvp),var(--elite));-webkit-background-clip:text;background-clip:text;color:transparent}
.pm-hero__lead{font-size:16px;line-height:1.95;color:var(--text-dim);margin:0 0 30px}
.pm-hero__cta{display:flex;flex-wrap:wrap;gap:14px;align-items:center}
.pm-hero__note{font-size:12px;color:var(--text-mute);margin-top:22px;line-height:1.8}
.pm-cmd{display:inline-flex;align-items:center;gap:12px;padding:8px 8px 8px 16px;border:1px solid color-mix(in srgb,var(--elite) 55%,transparent);border-radius:999px;background:color-mix(in srgb,var(--elite) 10%,transparent);box-shadow:0 0 0 4px color-mix(in srgb,var(--elite) 6%,transparent),0 10px 30px -12px color-mix(in srgb,var(--elite) 50%,transparent)}
.pm-cmd span{font-size:13px;color:var(--text-dim)}
.pm-cmd code{font-size:20px;font-weight:700;background:none;color:var(--elite);padding:0}
.pm-cmd--big{margin:22px 0 10px}.pm-cmd--big code{font-size:28px}
.pm-copy{appearance:none;border:1px solid var(--line);background:var(--panel);color:var(--text);font:inherit;font-size:12px;padding:5px 12px;border-radius:999px;cursor:pointer;transition:background .2s,border-color .2s,color .2s}
.pm-copy:hover{border-color:var(--elite)}.pm-copy.is-ok{background:var(--elite);color:#1b1206;border-color:transparent}
/* 通用段落 */
.pm-sec{padding:88px 0}
.pm-sec--alt{background:color-mix(in srgb,var(--panel) 70%,transparent);border-block:1px solid var(--line)}
.pm-h{display:flex;align-items:baseline;gap:16px;margin-bottom:34px}
.pm-h span{font-family:var(--font-mono);font-size:14px;color:var(--elite);letter-spacing:.1em;padding:3px 10px;border:1px solid color-mix(in srgb,var(--elite) 45%,transparent);border-radius:999px}
.pm-h h2{font-family:var(--font-serif);font-size:clamp(26px,3.4vw,40px);margin:0;letter-spacing:.06em}
.pm-h3{font-family:var(--font-serif);font-size:21px;margin:40px 0 16px;letter-spacing:.06em}
.pm-p{font-size:15px;line-height:1.95;color:var(--text-dim);max-width:78ch}
.pm-fine{font-size:12.5px;line-height:1.85;color:var(--text-mute);max-width:90ch;margin-top:14px}
/* 01 选卡 */
.pm-plans{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;align-items:stretch}
.pm-plan{position:relative;display:flex;flex-direction:column;padding:30px 26px 24px;border-radius:14px;background:linear-gradient(160deg,color-mix(in srgb,var(--t) 16%,var(--panel)),var(--panel) 55%);border:1px solid color-mix(in srgb,var(--t) 40%,var(--line));cursor:pointer;transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s,border-color .35s;overflow:hidden}
.pm-plan::before{content:"";position:absolute;inset:-40% -40% auto auto;width:260px;height:260px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--t) 35%,transparent),transparent 70%);pointer-events:none;opacity:.6;transition:opacity .35s}
.pm-plan:hover{transform:translateY(-6px);box-shadow:0 24px 50px -24px color-mix(in srgb,var(--t) 70%,transparent)}
.pm-plan.is-sel{border-color:var(--t);box-shadow:0 0 0 1px var(--t),0 30px 60px -26px color-mix(in srgb,var(--t) 80%,transparent);transform:translateY(-8px)}
.pm-plan.is-sel::before{opacity:1}
.pm-plan__ribbon{position:absolute;top:16px;right:-38px;transform:rotate(38deg);background:var(--t);color:#120c05;font-size:12px;font-weight:700;letter-spacing:.12em;padding:5px 46px}
html[data-theme=day] .pm-plan__ribbon{color:#f5ead0}
.pm-plan__stars{color:var(--t);letter-spacing:.3em;font-size:14px}
.pm-plan h3{font-family:var(--font-serif);font-size:40px;margin:6px 0 14px;color:var(--text);letter-spacing:.04em}
.pm-plan h3 small{display:block;font-size:15px;letter-spacing:.3em;color:var(--t);margin-top:4px}
.pm-plan__price{display:flex;align-items:flex-end;gap:10px;margin-bottom:14px}
.pm-plan__price b{font-family:var(--font-serif);font-size:58px;line-height:.9;color:var(--t)}
.pm-plan__price span{font-size:14px;color:var(--text-dim);line-height:1.4}
.pm-plan__price em{display:block;font-style:normal;font-size:12px;color:var(--text-mute)}
.pm-plan__for{font-size:14px;line-height:1.8;color:var(--text-dim);min-height:3.6em;margin:0 0 14px}
.pm-plan ul{list-style:none;margin:0 0 18px;padding:0;display:grid;gap:9px;flex:1}
.pm-plan li{position:relative;padding-left:24px;font-size:14.5px;color:var(--text)}
.pm-plan li::before{content:"";position:absolute;left:0;top:.45em;width:12px;height:12px;border-radius:3px;background:var(--t);box-shadow:0 0 12px color-mix(in srgb,var(--t) 70%,transparent);transform:rotate(45deg) scale(.75)}
.pm-plan__gift{font-size:13px;color:var(--text-dim);padding:10px 12px;border-radius:8px;background:color-mix(in srgb,var(--t) 9%,transparent);margin-bottom:14px}
.pm-plan__gift b{color:var(--t)}
.pm-plan__cta{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:14px;border-top:1px dashed var(--line)}
.pm-plan__cta code{font-size:18px;color:var(--t);background:none}
.pm-tips{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:26px}
.pm-tips p{margin:0;padding:18px 20px;border-left:3px solid var(--elite);background:var(--pm-glass);border-radius:0 10px 10px 0;font-size:14.5px;line-height:1.85;color:var(--text-dim)}
.pm-tips p:first-child{border-left-color:var(--mvp)}
.pm-tips b{display:block;color:var(--text);margin-bottom:4px}
/* 计算器 */
.pm-calc{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.4fr);gap:36px;align-items:start}
.pm-calc__in{display:grid;gap:22px;padding:24px;border:1px solid var(--line);border-radius:12px;background:var(--panel)}
.pm-slider{display:grid;gap:8px}
.pm-slider>span{display:flex;justify-content:space-between;font-size:14px;color:var(--text-dim)}
.pm-slider b{font-family:var(--font-mono);color:var(--text)}
.pm-slider em{font-style:normal;font-size:12px;color:var(--text-mute)}
.pm-slider input{width:100%;accent-color:var(--elite)}
.pm-calc__out{display:grid;gap:16px}
.pm-calc__row{padding:16px 18px;border-radius:12px;border:1px solid color-mix(in srgb,var(--t) 35%,var(--line));background:color-mix(in srgb,var(--t) 6%,var(--panel))}
.pm-calc__head{display:flex;justify-content:space-between;align-items:baseline}
.pm-calc__head b{font-family:var(--font-serif);font-size:20px;color:var(--t)}
.pm-calc__head span{font-family:var(--font-serif);font-size:26px;font-weight:700;color:var(--text)}
.pm-calc__bar{height:8px;border-radius:4px;background:color-mix(in srgb,var(--text) 10%,transparent);margin:10px 0;overflow:hidden}
.pm-calc__bar i{display:block;height:100%;background:linear-gradient(90deg,color-mix(in srgb,var(--t) 50%,transparent),var(--t));transform-origin:left;transition:transform .5s cubic-bezier(.2,.8,.2,1);border-radius:4px}
.pm-calc__detail{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:12.5px;color:var(--text-mute)}
/* 02 工具 */
.pm-tools{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:12px;margin-bottom:18px}
.pm-tools__item{display:flex;flex-direction:column;align-items:center;gap:6px;padding:14px 4px 10px;border-radius:10px;border:1px solid var(--line);background:var(--panel)}
.pm-tools__item.lv-0{--t:var(--vip)}.pm-tools__item.lv-1{--t:var(--mvp)}.pm-tools__item.lv-2{--t:var(--elite)}
.pm-tools__lv{font-size:11px;color:var(--t);letter-spacing:.06em}
.pm-cube{margin:0;display:flex;flex-direction:column;align-items:center;gap:8px}
.pm-cube i{position:relative;display:block;width:34px;height:38px;transform:translateZ(0);animation:pm-bob 3.2s ease-in-out infinite}
.pm-tools__item:nth-child(odd) .pm-cube i{animation-delay:-1.6s}
.pm-cube b{position:absolute;width:24px;height:24px}
.pm-cube b:nth-child(1){left:5px;top:0;background:color-mix(in srgb,var(--c) 100%,white 25%);transform:skewY(0) rotate(45deg) scale(.82,.82);transform-origin:center;border-radius:2px;top:-1px}
.pm-cube b:nth-child(2){left:-1px;top:12px;width:18px;height:22px;background:var(--c);transform:skewY(26deg)}
.pm-cube b:nth-child(3){left:17px;top:12px;width:18px;height:22px;background:color-mix(in srgb,var(--c) 70%,black);transform:skewY(-26deg)}
.pm-cube figcaption{font-size:12.5px;color:var(--text)}
@keyframes pm-bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}
/* 表格 */
.pm-table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:12px;background:var(--panel)}
.pm-table{width:100%;border-collapse:collapse;font-size:14px;min-width:520px}
.pm-table th,.pm-table td{padding:12px 16px;text-align:right;border-bottom:1px solid var(--line-soft);font-variant-numeric:tabular-nums}
.pm-table th:first-child,.pm-table td:first-child{text-align:left;color:var(--text-dim)}
.pm-table thead th{font-family:var(--font-serif);font-size:15px;color:var(--text-mute);font-weight:600;background:color-mix(in srgb,var(--text) 3%,transparent)}
.pm-table thead th.pm-tier--vip,.pm-table thead th.pm-tier--mvp,.pm-table thead th.pm-tier--elite{color:var(--t)}
.pm-table tbody tr:last-child td{border-bottom:0}
.pm-table tbody tr:hover td{background:color-mix(in srgb,var(--elite) 5%,transparent)}
.pm-table .pm-best{color:var(--elite);font-weight:700}
.pm-yes{color:var(--vip)!important;font-weight:700}.pm-no{color:var(--text-mute)!important}
.pm-matrix td:not(:first-child),.pm-matrix th:not(:first-child){text-align:center}
.pm-totals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:6px 0 4px}
.pm-totals__group{padding:18px;border:1px solid var(--line);border-radius:12px;background:var(--panel)}
.pm-totals__group h4{margin:0 0 12px;font-family:var(--font-serif);font-size:16px;color:var(--text-dim)}
.pm-totals__row{display:grid;grid-template-columns:52px 1fr auto;align-items:center;gap:10px;margin-top:8px}
.pm-totals__row span{font-size:13px;color:var(--t);font-weight:700}
.pm-totals__row i{height:10px;border-radius:5px;background:color-mix(in srgb,var(--text) 8%,transparent);overflow:hidden}
.pm-totals__row i b{display:block;height:100%;width:calc(var(--w)*100%);background:linear-gradient(90deg,color-mix(in srgb,var(--t) 40%,transparent),var(--t));border-radius:5px}
.pm-num{font-family:var(--font-serif);font-size:20px;font-weight:700;color:var(--text);font-variant-numeric:tabular-nums}
.pm-example{margin:22px 0 6px;padding:20px 22px;border-radius:12px;border:1px solid color-mix(in srgb,var(--elite) 40%,var(--line));background:linear-gradient(120deg,color-mix(in srgb,var(--elite) 9%,var(--panel)),var(--panel))}
.pm-example>b{font-family:var(--font-serif);font-size:16px;color:var(--elite)}
.pm-example p{font-size:14.5px;line-height:1.85;color:var(--text-dim);margin:8px 0 14px}
.pm-example strong{color:var(--elite);font-size:1.15em}
.pm-example__bars{display:grid;gap:8px}
.pm-example__bars>div{display:grid;grid-template-columns:48px 1fr 80px;align-items:center;gap:10px;font-size:13px}
.pm-example__bars span{color:var(--t)}
.pm-example__bars i{height:12px;border-radius:6px;background:color-mix(in srgb,var(--text) 8%,transparent);overflow:hidden}
.pm-example__bars i b{display:block;height:100%;width:calc(var(--w)*100%);background:var(--t);opacity:.85;border-radius:6px}
.pm-example__bars em{font-style:normal;text-align:right;font-family:var(--font-mono);color:var(--text)}
.pm-notes{margin:20px 0 0;padding-left:20px;display:grid;gap:10px;font-size:13.5px;line-height:1.85;color:var(--text-dim);max-width:90ch}
.pm-notes b{color:var(--text)}
/* 03 */
.pm-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px;align-items:start}
.pm-split .pm-h3{margin-top:0}
.pm-chat{border-radius:12px;overflow:hidden;border:1px solid var(--line);background:#0e0f12}
.pm-chat__screen{min-height:72px;padding:18px 16px;font-family:var(--font-mono);font-size:17px;color:#fff;text-shadow:2px 2px 0 rgba(0,0,0,.6);background:linear-gradient(rgba(0,0,0,.45),rgba(0,0,0,.45)),repeating-linear-gradient(90deg,#3b5a32 0 16px,#355029 16px 32px);word-break:break-all}
.pm-chat__name{color:#fff}
.pm-chat__input{display:block;width:100%;box-sizing:border-box;border:0;border-top:1px solid #2a2d33;background:#16181c;color:#e8e8e8;font:15px var(--font-mono);padding:12px 16px;outline:none}
.pm-chat__input:focus{background:#1c1f24}
.pm-chat__codes{display:flex;flex-wrap:wrap;gap:6px;padding:10px 12px;background:#121417}
.pm-chat__codes button{appearance:none;border:1px solid #2c2f36;background:#1b1d22;color:var(--c,#ccc);font:12px var(--font-mono);padding:4px 7px;border-radius:4px;cursor:pointer}
.pm-chat__codes button:hover{border-color:var(--c,#888)}
.pm-chat__codes .is-reset{color:#ddd}
/* 04 礼包 */
.pm-gifts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:10px}
.pm-gift{padding:18px;border-radius:14px;border:1px solid color-mix(in srgb,var(--t) 40%,var(--line));background:linear-gradient(180deg,color-mix(in srgb,var(--t) 10%,var(--panel)),var(--panel));transition:box-shadow .35s,transform .35s}
.pm-gift.is-sel{box-shadow:0 0 0 1px var(--t),0 24px 50px -28px color-mix(in srgb,var(--t) 80%,transparent);transform:translateY(-4px)}
.pm-gift header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:14px}
.pm-gift header b{font-family:var(--font-serif);font-size:24px;color:var(--t)}
.pm-gift header span{font-size:12px;color:var(--text-mute)}
.pm-gift__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.pm-slot{position:relative;display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 4px 8px;border-radius:8px;background:color-mix(in srgb,var(--text) 5%,transparent);border:1px solid color-mix(in srgb,var(--c) 30%,transparent);text-align:center}
.pm-slot span{font-size:11px;color:var(--text-mute);line-height:1.3}
.pm-slot b{font-family:var(--font-serif);font-size:17px;color:var(--text)}
.pm-slot.is-empty{opacity:.35}
.pm-slot__icon{display:block;width:26px;height:26px;border-radius:50%;background:radial-gradient(circle at 35% 30%,color-mix(in srgb,var(--c) 40%,white),var(--c) 55%,color-mix(in srgb,var(--c) 60%,black));box-shadow:0 0 14px color-mix(in srgb,var(--c) 50%,transparent)}
.pm-ico--amber,.pm-ico--iron,.pm-ico--glow{border-radius:4px;transform:rotate(45deg) scale(.82)}
.pm-ico--card{border-radius:4px;width:20px;height:26px}
.pm-ico--charm{border-radius:50% 50% 4px 4px}
.pm-ico--glow,.pm-ico--apple{animation:pm-shine 2.6s ease-in-out infinite}
@keyframes pm-shine{0%,100%{filter:brightness(1)}50%{filter:brightness(1.45)}}
/* 05 */
.pm-steps{list-style:none;margin:0 0 30px;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;counter-reset:pm}
.pm-steps li{position:relative;padding:22px 18px 18px;border-radius:12px;border:1px solid var(--line);background:var(--panel);counter-increment:pm}
.pm-steps li::before{content:counter(pm);position:absolute;top:-14px;left:16px;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;font-family:var(--font-serif);font-weight:700;background:var(--elite);color:#1b1206}
html[data-theme=day] .pm-steps li::before{color:#f5ead0}
.pm-steps b{display:block;font-family:var(--font-serif);font-size:16px;margin-bottom:6px}
.pm-steps span{font-size:13.5px;line-height:1.8;color:var(--text-dim)}
.pm-box{padding:22px;border-radius:12px;border:1px solid var(--line);background:var(--panel)}
.pm-up{margin-top:16px;padding:16px;border-radius:10px;background:color-mix(in srgb,var(--mvp) 8%,transparent);border:1px solid color-mix(in srgb,var(--mvp) 30%,transparent)}
.pm-up__form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.pm-up__form label{display:grid;gap:6px;font-size:12px;color:var(--text-mute)}
.pm-up__form select,.pm-up__form input{font:inherit;font-size:15px;padding:8px 10px;border-radius:6px;border:1px solid var(--line);background:var(--bg);color:var(--text)}
.pm-up__result code{display:block;margin:14px 0 8px;font-size:13px}
.pm-up__result p{margin:0;font-size:14.5px;color:var(--text-dim)}
.pm-up__result b{color:var(--text)}
.pm-up__big{font-family:var(--font-serif);font-size:22px;color:var(--mvp)!important}
/* 06 */
.pm-cmds{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.pm-cmds__row{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:var(--panel)}
.pm-cmds__row code{background:none;padding:0;color:var(--elite);overflow-wrap:anywhere}
.pm-cmds__row span{font-size:13.5px;color:var(--text-dim)}
.pm-cmds__row em{font-style:normal;font-size:11.5px;color:var(--text-mute);white-space:nowrap}
/* 07 礼盒 */
.pm-box-star{display:grid;grid-template-columns:260px minmax(0,1fr);gap:40px;align-items:center;padding:30px;border-radius:16px;border:1px solid color-mix(in srgb,var(--elite) 40%,var(--line));background:radial-gradient(80% 120% at 0% 50%,color-mix(in srgb,var(--elite) 14%,transparent),transparent 60%),var(--panel)}
.pm-star__title{font-family:var(--font-serif);font-size:30px;margin:0 0 10px;display:flex;flex-wrap:wrap;align-items:baseline;gap:14px}
.pm-star__title b{font-size:18px;color:var(--elite);padding:3px 12px;border:1px solid color-mix(in srgb,var(--elite) 50%,transparent);border-radius:999px}
.pm-star__items{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:14px 0}
.pm-star__items div{display:flex;justify-content:space-between;gap:8px;padding:10px 12px;border-radius:8px;background:color-mix(in srgb,var(--text) 5%,transparent);font-size:13px;color:var(--text-dim)}
.pm-star__items b{color:var(--text)}
.pm-giftbox{position:relative;width:200px;height:200px;margin:auto;perspective:600px}
.pm-giftbox i{position:absolute;display:block}
.pm-giftbox__body{left:30px;right:30px;top:80px;bottom:20px;border-radius:8px;background:linear-gradient(135deg,#3b3fa8,#16194a);box-shadow:inset 0 0 30px rgba(0,0,0,.4),0 20px 40px -18px rgba(0,0,0,.6)}
.pm-giftbox__lid{left:20px;right:20px;top:58px;height:30px;border-radius:6px;background:linear-gradient(135deg,#5a5fd0,#22266a);z-index:2;animation:pm-lid 3.4s ease-in-out infinite;transform-origin:20% 100%}
.pm-giftbox__ribbon{left:92px;width:16px;top:58px;bottom:20px;background:linear-gradient(#f2cc6a,#c28a2a);z-index:3;animation:pm-lid 3.4s ease-in-out infinite;transform-origin:0 0}
.pm-giftbox__glow{left:40px;right:40px;top:20px;height:80px;border-radius:50%;background:radial-gradient(circle,rgba(255,215,120,.85),transparent 65%);filter:blur(6px);animation:pm-glow 3.4s ease-in-out infinite;z-index:1}
@keyframes pm-lid{0%,55%,100%{transform:translateY(0) rotate(0)}70%,85%{transform:translateY(-18px) rotate(-8deg)}}
@keyframes pm-glow{0%,55%,100%{opacity:0;transform:scale(.6)}70%,85%{opacity:1;transform:scale(1.1)}}
/* 08 FAQ */
.pm-faq{display:grid;gap:10px;max-width:860px}
.pm-faq details{border:1px solid var(--line);border-radius:10px;background:var(--panel);padding:0 18px}
.pm-faq summary{cursor:pointer;padding:16px 0;font-family:var(--font-serif);font-size:16px;color:var(--text);list-style:none;display:flex;justify-content:space-between}
.pm-faq summary::-webkit-details-marker{display:none}
.pm-faq summary::after{content:"+";color:var(--elite);font-size:20px;line-height:1;transition:transform .3s}
.pm-faq details[open] summary::after{transform:rotate(45deg)}
.pm-faq p{margin:0 0 16px;font-size:14.5px;line-height:1.85;color:var(--text-dim)}
/* 结尾 */
.pm-final{padding:100px 0 110px;text-align:center;background:radial-gradient(60% 100% at 50% 0%,color-mix(in srgb,var(--elite) 16%,transparent),transparent 70%)}
.pm-final h2{font-family:var(--font-serif);font-size:clamp(28px,4vw,46px);letter-spacing:.08em;margin:0 0 16px}
.pm-final p{font-size:16px;line-height:1.9;color:var(--text-dim);max-width:none}
.pm-final .pm-fine{margin:14px auto 0}
@media (max-width:1080px){.pm-tools{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media (max-width:980px){
.pm-hero{flex-direction:column;align-items:stretch;min-height:0}
.pm-hero__stage{position:relative;width:100%;height:62vw;max-height:440px;order:-1}
.pm-cool__grid{grid-template-columns:minmax(0,1fr);gap:24px}
.pm-hero__inner{padding-top:10px;padding-bottom:56px}
.pm-plans,.pm-gifts,.pm-totals{grid-template-columns:minmax(0,1fr)}
.pm-calc,.pm-split{grid-template-columns:minmax(0,1fr)}
.pm-steps{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:24px}
.pm-cmds{grid-template-columns:minmax(0,1fr)}
.pm-box-star{grid-template-columns:minmax(0,1fr)}
.pm-tips{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:640px){
.pm-sec{padding:60px 0}
.pm-hero__stage{height:86vw}
.pm-hero__legend{right:50%;transform:translateX(50%);bottom:3%}
.pmb-label b{font-size:12px}
.pm-tools{grid-template-columns:repeat(3,minmax(0,1fr))}
.pm-gift__grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.pm-steps{grid-template-columns:minmax(0,1fr)}
.pm-up__form{grid-template-columns:minmax(0,1fr)}
.pm-star__items{grid-template-columns:repeat(2,minmax(0,1fr))}
.pm-cmds__row{grid-template-columns:minmax(0,1fr) auto;row-gap:4px}
.pm-cmds__row span{grid-column:1}.pm-cmds__row em{grid-column:1}
.pm-plan h3{font-size:34px}.pm-plan__price b{font-size:48px}
}
@media (prefers-reduced-motion:reduce){.pm-cube i,.pm-giftbox i,.pm-ico--glow,.pm-ico--apple{animation:none}}

/* ===== 公开组织：旗帜纹章 / 疆域势力图 / 领地沙盘 / 史册时间线 ===== */
/* 旗帜纹章（替代原来的文字方块） */
.org-crest{display:inline-grid;place-items:start center;flex-shrink:0;width:44px;height:74px;perspective:240px}
.org-crest__flag{position:relative;display:block;width:32px;height:64px;margin-top:6px;transform-origin:50% 0;animation:rogSway 5.5s ease-in-out infinite}
.org-crest__flag img,.org-crest__flag b{display:block;width:32px;height:64px;image-rendering:pixelated;border-radius:0 0 2px 2px;box-shadow:0 6px 14px rgba(0,0,0,.28)}
.org-crest__flag b{display:grid;place-items:center;background:var(--org-pink);color:#fff;font-family:var(--font-display);font-size:18px}
.org-crest__bar{position:absolute;left:-6px;right:-6px;top:-5px;height:5px;border-radius:3px;background:linear-gradient(#8a6436,#4d331a);box-shadow:0 1px 2px rgba(0,0,0,.35)}
.org-crest--large{width:64px;height:118px}.org-crest--large .org-crest__flag,.org-crest--large .org-crest__flag img,.org-crest--large .org-crest__flag b{width:52px;height:104px}
.org-crest--large .org-crest__bar{left:-8px;right:-8px;height:6px;top:-6px}
a.org-card:hover .org-crest__flag{animation-duration:2.2s}
@keyframes rogSway{0%,100%{transform:rotateY(-10deg) skewY(1.2deg)}50%{transform:rotateY(12deg) skewY(-1.2deg)}}
.org-card__top{align-items:flex-start}
/* 卡片：组织配色顶边 + 指针倾斜 + 光泽 */
a.org-card{position:relative;overflow:hidden;border-top-width:3px;will-change:transform}
a.org-card.is-tilt{transform:perspective(1000px) rotateX(var(--rx,0)) rotateY(var(--ry,0)) translateY(-3px);transition:transform .08s linear,border-color .18s}
a.org-card:after{content:"";position:absolute;inset:0;pointer-events:none;opacity:0;transition:opacity .25s;background:radial-gradient(420px circle at var(--mx,50%) var(--my,0%),color-mix(in srgb,var(--org-pink) 16%,transparent),transparent 60%)}
a.org-card:hover:after{opacity:1}
.org-badge--open i{box-shadow:0 0 0 0 currentColor;animation:rogPing 2.4s infinite}
@keyframes rogPing{0%{box-shadow:0 0 0 0 color-mix(in srgb,currentColor 60%,transparent)}80%,100%{box-shadow:0 0 0 7px transparent}}

/* 疆域势力图 */
.oa{padding:8px 0 0}
.oa__frame{display:grid;grid-template-columns:minmax(0,1fr) 320px;height:clamp(460px,62vh,600px);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:var(--panel)}
.oa__view{position:relative;min-width:0;background:radial-gradient(120% 90% at 50% 40%,#13202a,#070b10 75%);box-shadow:inset 0 0 80px rgba(0,0,0,.55)}
html[data-theme=day] .oa__view{background:radial-gradient(120% 90% at 50% 40%,#e7dcc0,#c9b88f 80%);box-shadow:inset 0 0 70px rgba(90,58,20,.35)}
.oa__canvas{position:absolute;inset:0;width:100%;height:100%;display:block;cursor:grab;touch-action:pan-y}
.oa__canvas:active{cursor:grabbing}
.oa__labels{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.oa__compass{position:absolute;left:16px;top:14px;display:grid;place-items:center;width:34px;height:34px;border:1px solid var(--line);border-radius:50%;font-family:var(--font-display);font-size:14px;color:var(--accent);background:color-mix(in srgb,var(--panel) 70%,transparent);pointer-events:none}
.oa__compass:before{content:"";position:absolute;top:-7px;left:50%;border:5px solid transparent;border-bottom:7px solid var(--accent);transform:translateX(-50%)}
.oa-pin{position:absolute;left:0;top:0;display:flex;flex-direction:column;align-items:flex-start;gap:1px;padding:5px 9px 5px 8px;border:1px solid color-mix(in srgb,var(--org-pink) 55%,transparent);border-left:3px solid var(--org-pink);border-radius:3px;background:rgba(8,12,16,.72);backdrop-filter:blur(4px);color:#f1ece2;font:inherit;text-align:left;white-space:nowrap;pointer-events:auto;cursor:pointer;will-change:transform;transition:background .2s,box-shadow .2s}
.oa-pin b{font-size:14px;font-weight:700;letter-spacing:.04em}.oa-pin span{font-size:11px;opacity:.75}
.oa-pin.is-on{box-shadow:0 0 0 1px var(--org-pink),0 0 22px color-mix(in srgb,var(--org-pink) 55%,transparent);background:rgba(8,12,16,.86);z-index:2}
html[data-theme=day] .oa-pin{background:rgba(238,228,204,.88);color:#24180c;border-color:color-mix(in srgb,var(--org-pink) 45%,transparent)}
html[data-theme=day] .oa-pin.is-on{background:rgba(244,236,214,.96);box-shadow:0 0 0 1px var(--org-pink),0 6px 18px rgba(70,40,10,.25)}
.oa-pin:focus-visible{outline:2px solid var(--org-pink);outline-offset:3px}
.oa-rel{position:absolute;left:0;top:0;padding:3px 8px;border-radius:999px;font-size:11px;letter-spacing:.08em;white-space:nowrap;will-change:transform}
.oa-rel--war{background:rgba(120,20,14,.85);color:#ffe2dc;border:1px solid rgba(255,120,100,.5)}
.oa-rel--ally{background:rgba(110,80,10,.85);color:#fff1cc;border:1px solid rgba(255,210,110,.5)}
html[data-theme=day] .oa-rel--war{background:#7e1f15;color:#fbeee5}
.oa__side{display:flex;flex-direction:column;gap:18px;min-width:0;padding:24px 22px 20px;border-left:1px solid var(--line);overflow:auto}
.oa__eyebrow{margin:0 0 6px;font-size:12px;letter-spacing:.24em;color:var(--accent)}
.oa__title{margin:0;font-family:var(--font-display);font-size:clamp(22px,2.2vw,28px);line-height:1.35;color:var(--text)}
.oa__meta{margin:8px 0 0;font-size:12px;line-height:1.8;color:var(--text-dim)}.oa__meta b{color:var(--text);font-size:15px}
.oa-info{display:flex;align-items:flex-start;gap:14px;padding:14px 14px 14px 10px;border:1px solid var(--line);border-left:3px solid var(--org-pink);border-radius:6px;background:var(--org-pink-soft);animation:rogIn .45s ease both}
.oa-info--idle{border-left-color:var(--line);background:transparent;font-size:12px;color:var(--text-dim);line-height:1.8}
.oa-info__body{display:flex;flex-direction:column;gap:4px;min-width:0}
.oa-info__name{font-family:var(--font-display);font-size:20px;color:var(--text);overflow-wrap:anywhere}
.oa-info__stats,.oa-info__rel{font-size:12px;line-height:1.7;color:var(--text-dim)}.oa-info__rel{color:#ff9d8f}
html[data-theme=day] .oa-info__rel{color:#7e1f15}
.oa-info__go{align-self:flex-start;margin-top:4px;font-size:13px;color:var(--org-pink)}
.oa__chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:auto}
.oa-chip{padding:5px 11px;border:1px solid var(--line);border-radius:999px;background:transparent;color:var(--text-dim);font:inherit;font-size:12px;cursor:pointer;transition:all .2s}
.oa-chip:before{content:"";display:inline-block;width:7px;height:7px;margin-right:7px;border-radius:2px;background:var(--org-pink);vertical-align:1px}
.oa-chip--all:before{display:none}
.oa-chip:hover,.oa-chip.is-on{color:var(--text);border-color:var(--org-pink,var(--accent));background:var(--org-pink-soft,transparent)}
.oa-chip:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
@keyframes rogIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media(max-width:900px){
 .oa__frame{grid-template-columns:1fr;grid-template-rows:auto 400px;height:auto}
 .oa__view{grid-row:2}.oa__side{border-left:0;border-bottom:1px solid var(--line);padding:18px 16px;gap:14px;overflow:visible}
 .oa__chips{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin-top:0}.oa__chips::-webkit-scrollbar{display:none}.oa-chip{flex-shrink:0}
 .oa-info .org-crest{display:none}.oa-pin span{display:none}.oa-pin{padding:3px 7px}.oa-pin b{font-size:12px}}

/* 领地沙盘（详情页） */
.ot{padding:0 0 8px}
.ot__frame{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,1fr);border:1px solid var(--line);border-top:3px solid var(--org-pink);border-radius:var(--radius);overflow:hidden;background:var(--panel)}
.ot__stage{position:relative;min-height:440px;background:radial-gradient(90% 80% at 50% 45%,color-mix(in srgb,var(--org-pink) 14%,#0d1418),#06090c 80%)}
html[data-theme=day] .ot__stage{background:radial-gradient(90% 80% at 50% 45%,color-mix(in srgb,var(--org-pink) 10%,#eadfc4),#cdbd96 85%)}
.ot__canvas{position:absolute;inset:0;width:100%;height:100%;display:block;cursor:grab;touch-action:pan-y}.ot__canvas:active{cursor:grabbing}
.ot__labels{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.ot-tag{position:absolute;left:0;top:0;padding:2px 8px;border-radius:3px;background:rgba(8,12,16,.72);color:#f6efe2;font-size:12px;white-space:nowrap;border:1px solid color-mix(in srgb,var(--org-pink) 60%,transparent);will-change:transform}
html[data-theme=day] .ot-tag{background:rgba(242,233,210,.9);color:#24180c}
.ot__hint{position:absolute;right:14px;bottom:12px;font-size:11px;letter-spacing:.1em;color:var(--text-mute);pointer-events:none}
.ot__panel{display:flex;flex-direction:column;padding:28px 28px 24px;border-left:1px solid var(--line);min-width:0}
.ot__title{margin:0;font-family:var(--font-display);font-size:clamp(24px,2.6vw,32px);line-height:1.35;overflow-wrap:anywhere}
.ot__sub{margin:6px 0 20px;font-size:13px;color:var(--text-dim);line-height:1.7;overflow-wrap:anywhere}
.ot__stats{display:grid;grid-template-columns:1fr 1fr;gap:1px;margin:0 0 18px;background:var(--line);border:1px solid var(--line);border-radius:6px;overflow:hidden}
.ot__stats div{padding:14px 14px 12px;background:var(--panel)}
.ot__stats dt{font-size:12px;color:var(--text-dim);margin-bottom:4px}
.ot__stats dd{margin:0;font-family:var(--font-display);font-size:28px;line-height:1.2;color:var(--org-pink);font-variant-numeric:tabular-nums}.ot__stats small{font-size:13px;color:var(--text-dim)}
.ot-rel{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 12px;font-size:13px}
.ot-rel>span{font-weight:700;letter-spacing:.06em}
.ot-rel--war>span{color:#ff8f80}html[data-theme=day] .ot-rel--war>span{color:#7e1f15}
.ot-rel--ally>span{color:#f0c867}html[data-theme=day] .ot-rel--ally>span{color:#5c4700}
.ot-rel a{display:inline-flex;align-items:center;gap:6px;padding:2px 10px 2px 2px;border:1px solid var(--line);border-radius:4px;color:var(--text)}
.ot-rel .org-crest{width:22px;height:30px}.ot-rel .org-crest__flag,.ot-rel .org-crest__flag img,.ot-rel .org-crest__flag b{width:13px;height:26px;margin-top:2px}.ot-rel .org-crest__bar{top:-2px;height:2px;left:-3px;right:-3px}
.ot__note{margin:auto 0 0;padding-top:14px;border-top:1px solid var(--line);font-size:11px;line-height:1.8;color:var(--text-mute)}
@media(max-width:860px){.ot__frame{grid-template-columns:1fr}.ot__stage{min-height:360px}.ot__panel{border-left:0;border-top:1px solid var(--line);padding:22px}}

/* 详情页标题：大号旗帜 */
.org-identity{align-items:flex-start}

/* 史册时间线 */
.org-timeline{position:relative;border-left:0;padding-left:40px}
.org-timeline:before{content:"";position:absolute;left:11px;top:6px;bottom:6px;width:2px;background:linear-gradient(var(--org-pink),color-mix(in srgb,var(--org-pink) 15%,transparent))}
.org-timeline li{padding-left:6px}
.org-timeline li:before{left:-35px;top:3px;width:12px;height:12px;border:2px solid var(--org-pink);border-radius:2px;transform:rotate(45deg);background:var(--panel);box-shadow:0 0 0 5px var(--panel)}
.org-timeline time,.org-timeline__period{display:inline-block;padding:1px 9px;border:1px solid color-mix(in srgb,var(--org-pink) 55%,transparent);border-radius:2px;font-family:var(--font-display);letter-spacing:.14em}
.org-timeline h3{font-family:var(--font-display);font-size:19px}
.org-timeline li.rog-in:before{animation:rogStamp .7s cubic-bezier(.2,1.6,.4,1) both;animation-delay:var(--rv-d,0ms)}
@keyframes rogStamp{from{transform:rotate(45deg) scale(2.4);opacity:0}to{transform:rotate(45deg) scale(1);opacity:1}}

/* 组织公告：宣纸 + 朱印 */
.org-announcement{position:relative;padding:30px 30px 28px;margin-top:6px;border:1px solid var(--line);border-radius:3px;background:radial-gradient(120% 70% at 100% 100%,color-mix(in srgb,var(--org-pink) 7%,transparent),transparent 60%),linear-gradient(160deg,color-mix(in srgb,var(--org-pink) 5%,transparent),transparent 55%),var(--panel);box-shadow:inset 0 0 40px color-mix(in srgb,var(--org-pink) 6%,transparent)}
.org-announcement__body p:first-child:first-letter{float:left;margin:.1em .14em 0 0;font-family:var(--font-display);font-size:3.1em;line-height:1;color:var(--org-pink)}
.org-announcement[data-seal]:after{content:attr(data-seal);position:absolute;right:26px;bottom:22px;display:grid;place-items:center;width:62px;height:62px;border:3px double rgba(255,236,226,.85);border-radius:6px;background:#a8301f;color:#fff3ec;font-family:var(--font-display);font-size:22px;letter-spacing:.04em;line-height:1;transform:rotate(-9deg);opacity:.9;box-shadow:inset 0 0 10px rgba(60,0,0,.45);mix-blend-mode:normal;pointer-events:none}
html[data-theme=day] .org-announcement[data-seal]:after{background:#9c2a1a;mix-blend-mode:multiply;opacity:.85}
.org-announcement__signature{padding-right:84px}
.org-announcement.rog-in[data-seal]:after{animation:rogSeal .8s cubic-bezier(.2,1.5,.4,1) .35s both}
@keyframes rogSeal{from{transform:rotate(-24deg) scale(2.2);opacity:0}to{transform:rotate(-9deg) scale(1);opacity:.9}}
@media(max-width:600px){.org-announcement{padding:22px 18px}.org-announcement[data-seal]:after{width:48px;height:48px;font-size:17px;right:14px;bottom:14px}.org-announcement__signature{padding-right:58px}}

/* 滚动显现 */
.rog-rv{opacity:0;transform:translateY(14px)}
.rog-rv.rog-in{opacity:1;transform:none;transition:opacity .6s ease,transform .6s ease;transition-delay:var(--rv-d,0ms)}
@media(prefers-reduced-motion:reduce){.org-crest__flag,.org-badge--open i{animation:none}a.org-card.is-tilt{transform:none}.rog-rv{opacity:1;transform:none}}

/* 历史条目保留换行（如正文后接「史臣曰」） */
.org-timeline p{white-space:pre-line}

/* 公开组织 · 名录排序与卡片数值、附语小字 */
.ros-bar{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:-12px 0 28px}
.ros-bar__label{font-size:13px;letter-spacing:.14em;color:var(--text-mute);margin-right:2px}
.ros-btn{display:inline-flex;align-items:center;gap:5px;padding:6px 14px;border:1px solid var(--line);border-radius:999px;background:none;color:var(--text-dim);font:inherit;font-size:13px;letter-spacing:.1em;cursor:pointer;transition:all .2s}
.ros-btn i{font-style:normal;font-size:11px;opacity:0;transition:opacity .2s}
.ros-btn:hover{border-color:var(--text-mute);color:var(--text)}
.ros-btn.is-on{border-color:var(--accent);color:var(--text);background:color-mix(in srgb,var(--accent) 12%,transparent)}
.ros-btn.is-on i{opacity:1}
.ros-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.ros-bar__note{font-size:12px;color:var(--text-mute);letter-spacing:.04em;margin-left:6px}
.ros-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:2px 0}
.ros-stat{display:flex;flex-direction:column;gap:2px;padding:7px 10px;border:1px solid var(--line-soft,var(--line));border-radius:3px;min-width:0}
.ros-stat small{font-size:11px;letter-spacing:.14em;color:var(--text-mute)}
.ros-stat b{font-family:var(--font-mono);font-size:13px;font-weight:600;color:var(--text-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-variant-numeric:tabular-nums}
.ros-stat.is-on{border-color:color-mix(in srgb,var(--accent) 60%,transparent);background:color-mix(in srgb,var(--accent) 9%,transparent)}
.ros-stat.is-on b{color:var(--text)}
.org-footnote{margin:0;font-size:12px;line-height:1.7;color:var(--text-mute);font-style:italic;letter-spacing:.02em}
.org-detail__head .org-footnote{max-width:720px;margin-top:10px}
@media (max-width:640px){.ros-bar{margin-top:-8px}.ros-bar__note{flex-basis:100%;margin-left:0}}

/* 公开组织 · 商店板块（分类书签复用通知页 .rn-tabs；卡片与工具栏沿用组织名录样式） */
.rs-sections>.rn-tabs{margin-bottom:32px}
.rs-cat{display:inline-flex;align-items:center;gap:6px;padding:2px 10px;border:1px solid color-mix(in srgb,var(--rs-c,var(--secondary)) 55%,transparent);border-radius:999px;font-size:12px;letter-spacing:.12em;color:var(--rs-c,var(--secondary))}
.rs-cat i{font-style:normal;font-size:13px;letter-spacing:0}
.rs-cat[data-cat=集市]{--rs-c:#ee8a3c}.rs-cat[data-cat=武器]{--rs-c:#d9644a}.rs-cat[data-cat=药水]{--rs-c:#b77ad8}.rs-cat[data-cat=附魔]{--rs-c:#7f9cf0}
.rs-cat[data-cat=食物]{--rs-c:#d8a548}.rs-cat[data-cat=建材]{--rs-c:#9aa6ad}.rs-cat[data-cat=杂货]{--rs-c:#7fbf8a}
html[data-theme=day] .rs-cat[data-cat=集市]{--rs-c:#9a4310}html[data-theme=day] .rs-cat[data-cat=武器]{--rs-c:#8e2a1a}html[data-theme=day] .rs-cat[data-cat=药水]{--rs-c:#5a2a6c}html[data-theme=day] .rs-cat[data-cat=附魔]{--rs-c:#2a3f7a}
html[data-theme=day] .rs-cat[data-cat=食物]{--rs-c:#7a4f0e}html[data-theme=day] .rs-cat[data-cat=建材]{--rs-c:#3e4a52}html[data-theme=day] .rs-cat[data-cat=杂货]{--rs-c:#1f5c38}

/* 空状态 */
.rs-empty{max-width:760px;margin:0 auto;padding:44px 32px;text-align:center}
.rs-empty__cats{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-bottom:24px}
.rs-empty__cats .rs-cat{opacity:.85}
.rs-empty .h3{font-family:var(--font-serif);letter-spacing:.12em;margin-bottom:12px}
.rs-empty .card__text{max-width:520px;margin:0 auto}
.rs-empty__how{margin-top:12px!important;padding-top:14px;border-top:1px dashed var(--line);color:var(--text-mute)}

/* 分类筛选 */
.rs-filters{display:flex;flex-wrap:wrap;gap:8px;margin:-12px 0 28px}
.rs-filter{display:inline-flex;align-items:center;gap:6px;padding:6px 13px;border:1px solid var(--line);border-radius:999px;background:none;color:var(--text-dim);font:inherit;font-size:13px;letter-spacing:.08em;cursor:pointer;transition:all .2s}
.rs-filter i{font-style:normal}
.rs-filter em{font-style:normal;font-family:var(--font-mono);font-size:11px;color:var(--text-mute)}
.rs-filter:hover:not(:disabled){border-color:var(--text-mute);color:var(--text)}
.rs-filter.is-on{border-color:var(--accent);color:var(--text);background:color-mix(in srgb,var(--accent) 12%,transparent)}
.rs-filter:disabled{opacity:.45;cursor:not-allowed}
.rs-filter:focus-visible,.rs-copy:focus-visible{outline:2px solid var(--accent);outline-offset:2px}

/* 商店卡片 */
.rs-card{display:flex;flex-direction:column;gap:12px}
.rs-card.is-closed{opacity:.72}
.rs-card__top{display:flex;align-items:center;justify-content:space-between;gap:10px}
.rs-state{font-size:12px;letter-spacing:.12em;color:var(--accent)}
.rs-card.is-closed .rs-state{color:var(--text-mute)}
.rs-card__name{margin:0;font-family:var(--font-serif);font-size:24px;letter-spacing:.06em}
.rs-card__owner{margin:0;font-size:13px;color:var(--text-mute)}
.rs-card__owner strong{color:var(--text-dim);font-family:var(--font-mono);font-weight:600}
.rs-card__owner a{color:var(--accent)}
.rs-card__summary{margin:0;font-size:14px;line-height:1.8;color:var(--text-dim)}
.rs-items{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.rs-items li{display:flex;justify-content:space-between;gap:12px;padding:6px 10px;border:1px solid var(--line-soft,var(--line));border-radius:3px;font-size:13px;color:var(--text-dim)}
.rs-items b{font-family:var(--font-mono);font-weight:600;color:var(--text);white-space:nowrap}
.rs-facts{margin:auto 0 0;padding-top:12px;border-top:1px solid var(--line);display:grid;gap:6px}
.rs-facts>div{display:flex;align-items:baseline;gap:12px;font-size:13px}
.rs-facts dt{flex:none;min-width:2.6em;white-space:nowrap;color:var(--text-mute);letter-spacing:.1em}
.rs-facts dd{margin:0;display:flex;align-items:center;gap:8px;color:var(--text-dim);min-width:0}
.rs-facts code{font-family:var(--font-mono);font-size:13px;color:var(--text)}
.rs-copy{padding:1px 8px;border:1px solid var(--line);border-radius:3px;background:none;color:var(--text-mute);font:inherit;font-size:11px;cursor:pointer}
.rs-copy:hover{color:var(--text);border-color:var(--text-mute)}
.rs-card__name small{display:block;margin-top:4px;font-family:var(--font-display,var(--font-serif));font-size:13px;letter-spacing:.32em;color:var(--text-mute);text-transform:uppercase}
.rs-state--soon{display:inline-flex;align-items:center;gap:7px;color:#ee8a3c}
html[data-theme=day] .rs-state--soon{color:#9a4310}
.rs-state--soon::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor;animation:rs-pulse 2.2s infinite}
@keyframes rs-pulse{0%{box-shadow:0 0 0 0 color-mix(in srgb,currentColor 60%,transparent)}70%{box-shadow:0 0 0 8px transparent}100%{box-shadow:0 0 0 0 transparent}}
.rs-card.is-closed{opacity:.72}
.rs-card.is-closed .rs-state{color:var(--text-mute)}
.rs-card__body{display:flex;flex-direction:column;gap:12px;min-width:0}
.rs-promo{position:relative;padding:12px 14px 12px 16px;border:1px solid color-mix(in srgb,#ee8a3c 55%,transparent);border-radius:4px;background:linear-gradient(100deg,color-mix(in srgb,#ee8a3c 16%,transparent),color-mix(in srgb,#8a4fd8 8%,transparent))}
.rs-promo::before{content:"";position:absolute;left:0;top:8px;bottom:8px;width:3px;border-radius:2px;background:linear-gradient(#ffb05a,#e0582a)}
.rs-promo strong{display:block;font-family:var(--font-serif);font-size:15px;letter-spacing:.14em;color:#ee8a3c;margin-bottom:4px}
html[data-theme=day] .rs-promo strong{color:#9a4310}
.rs-promo p{margin:0;font-size:14px;line-height:1.75;color:var(--text)}
.rs-sec h3{margin:0 0 8px;font-size:12px;font-weight:400;letter-spacing:.16em;color:var(--text-mute)}
.rs-tags{display:flex;flex-wrap:wrap;gap:6px}
.rs-tags span{padding:3px 10px;border:1px solid var(--line);border-radius:3px;font-size:13px;color:var(--text-dim)}
.rs-sec__note{margin:8px 0 0;font-size:13px;color:var(--text-dim)}
.rs-facts dd strong{font-family:var(--font-mono);font-weight:600;color:var(--text)}
.rs-card__note{margin:0;font-size:13px;color:var(--text-dim)}
.rs-card__sign{margin:0;text-align:right;font-family:var(--font-serif);font-size:13px;letter-spacing:.06em;color:var(--text-mute)}

/* 有实景图：整行大卡片 + 相册 */
.rs-card--feature{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:28px;align-items:start;position:relative;overflow:hidden}
.rs-card--feature[data-cat=集市]{border-top:2px solid transparent;border-image:linear-gradient(90deg,#ff9b42,#e0582a 45%,#8a4fd8) 1}
.rs-card--feature .rs-card__name{font-size:clamp(28px,3.2vw,40px);letter-spacing:.16em}
.rs-gallery{display:flex;flex-direction:column;gap:10px;min-width:0}
.rs-gallery__main{display:block;position:relative;aspect-ratio:1280/699;border-radius:4px;overflow:hidden;background:#07080a;border:1px solid var(--line)}
.rs-gallery__main img{display:block;width:100%;height:100%;object-fit:cover;animation:rs-fade .45s ease both}
.rs-gallery__main::after{content:"查看原图 ↗";position:absolute;right:10px;bottom:10px;padding:3px 9px;border-radius:3px;background:rgba(8,8,10,.62);color:#f2e6cc;font-size:12px;letter-spacing:.08em;opacity:0;transition:opacity .2s}
.rs-gallery__main:hover::after,.rs-gallery__main:focus-visible::after{opacity:1}
@keyframes rs-fade{from{opacity:.2}to{opacity:1}}
.rs-gallery__thumbs{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.rs-thumb{padding:0;border:1px solid var(--line);border-radius:3px;overflow:hidden;background:#07080a;aspect-ratio:16/9;cursor:pointer;opacity:.6;transition:opacity .2s,border-color .2s}
.rs-thumb img{display:block;width:100%;height:100%;object-fit:cover}
.rs-thumb:hover{opacity:.9}
.rs-thumb.is-on{opacity:1;border-color:#ee8a3c;box-shadow:0 0 0 1px color-mix(in srgb,#ee8a3c 40%,transparent)}
.rs-thumb:focus-visible,.rs-gallery__main:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
@media (max-width:900px){.rs-card--feature{grid-template-columns:1fr;gap:20px}}
@media (prefers-reduced-motion:reduce){.rs-state--soon::before,.rs-gallery__main img{animation:none}}
@media (max-width:640px){.rs-empty{padding:32px 18px}.rs-filters{margin-top:-8px}}

/* 集市卡片顶部的 3D 招租图（横跨整张卡片） */
.rs-card__scene{grid-column:1/-1;display:flex;flex-direction:column;gap:8px;padding-top:22px;border-top:1px solid var(--line)}
.rs-card__scene .rb{margin:0;aspect-ratio:21/9;min-height:340px;max-height:64vh}
.rs-card__caption{margin:0;font-size:12px;letter-spacing:.06em;color:var(--text-mute)}
.rs-card__scene .rb-brand{display:none}
.rs-promo.is-flash{animation:rs-flash 1.6s ease}
@media (max-width:760px){.rs-card__scene .rb{aspect-ratio:1/1;min-height:0}}

/* 「即将开张」醒目徽章 */
.rs-state.rs-state--soon{display:inline-flex;align-items:center;gap:8px;padding:5px 14px 5px 11px;border-radius:999px;
 background:linear-gradient(100deg,#ff9b42,#e0582a 55%,#b0389a);color:#fff7e8;font-size:14px;font-weight:700;letter-spacing:.2em;
 text-shadow:0 1px 2px rgba(60,10,0,.45);box-shadow:0 0 0 1px rgba(255,170,90,.55),0 6px 18px -6px rgba(224,88,42,.85);animation:rs-soon-glow 2.4s ease-in-out infinite}
html[data-theme=day] .rs-state.rs-state--soon{color:#fff7e8}
.rs-state.rs-state--soon::before{width:8px;height:8px;background:#fff3d6;box-shadow:0 0 8px #fff3d6;animation:rs-pulse 1.6s infinite}
@keyframes rs-soon-glow{0%,100%{box-shadow:0 0 0 1px rgba(255,170,90,.55),0 6px 18px -6px rgba(224,88,42,.85)}50%{box-shadow:0 0 0 1px rgba(255,190,110,.9),0 8px 26px -4px rgba(255,120,50,1)}}
.rs-card--feature .rs-state.rs-state--soon{font-size:15px;padding:6px 16px 6px 12px}
@media (prefers-reduced-motion:reduce){.rs-state.rs-state--soon{animation:none}}

/* 大卡片左栏：相册 + 招租对象 / 欢迎抛售 */
.rs-card__left{display:flex;flex-direction:column;gap:18px;min-width:0}
.rs-card__left .rs-sec{padding:14px 16px;border:1px solid var(--line);border-radius:4px;background:color-mix(in srgb,var(--bg) 35%,transparent)}

/* 网页地图：内嵌不可用时，引导在新窗口打开 */
.realm-map__direct{display:flex;flex-direction:column;align-items:center;gap:14px;padding:64px 24px;text-align:center;background:color-mix(in srgb,var(--bg) 40%,var(--panel))}
.realm-map__direct .h3{margin:0;font-family:var(--font-serif);letter-spacing:.12em}
.realm-map__direct p{margin:0;max-width:460px;font-size:14px;line-height:1.8;color:var(--text-dim)}
.realm-map__direct .btn{padding:12px 28px;font-size:15px;letter-spacing:.12em}
.realm-map__direct code{font-family:var(--font-mono);font-size:12px;color:var(--text-mute)}
@media(max-width:600px){.realm-map__direct{padding:44px 16px}}

/* 商店板块头图 · 地下集市 */
.rb{position:relative;aspect-ratio:21/9;min-height:380px;max-height:72vh;margin:0 0 28px;border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden;background:#07060a;isolation:isolate}
.rb-canvas{position:absolute;inset:0;width:100%;height:100%;display:block;cursor:grab;touch-action:pan-y}
.rb-canvas:active{cursor:grabbing}
.rb-labels{position:absolute;inset:0;z-index:1;pointer-events:none;overflow:hidden}
.rb-labels>div{position:absolute;left:0;top:0;white-space:nowrap;opacity:0;transition:opacity .4s;will-change:transform}
.rb-zone{display:flex;flex-direction:column;align-items:center;gap:2px;padding:5px 11px 6px;border:1px solid color-mix(in srgb,var(--c) 70%,transparent);border-radius:3px;background:rgba(10,8,10,.62);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}
.rb-zone b{font-family:var(--font-serif);font-size:13px;letter-spacing:.24em;color:#f3e7cc}
.rb-zone span{font-size:11px;letter-spacing:.08em;color:color-mix(in srgb,var(--c) 55%,#f3e7cc)}
.rb-zone::after{content:"";position:absolute;left:50%;bottom:-7px;width:1px;height:7px;background:var(--c)}
.rb-shop{padding:3px 9px;border-radius:2px;background:#f0c86e;color:#1b1206;font-family:var(--font-serif);font-size:12px;font-weight:700;letter-spacing:.1em;box-shadow:0 4px 12px -4px rgba(0,0,0,.7)}
.rb-shop--market{display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 14px 7px;background:linear-gradient(120deg,rgba(26,10,40,.85),rgba(60,18,8,.85));border:1px solid rgba(190,120,255,.7);color:#f3e7cc}
.rb-shop--market b{font-size:16px;letter-spacing:.3em}
.rb-shop--market span{font-size:11px;font-weight:400;letter-spacing:.12em;color:#ffb06a}
.rb-labels>.is-on{opacity:1}
.rb-hover{padding:4px 10px;border-radius:3px;background:rgba(10,8,10,.8);border:1px solid rgba(120,255,170,.5);color:#d8ffe6;font-size:12px;letter-spacing:.08em}
.rb-hud{position:absolute;inset:0;z-index:2;pointer-events:none;padding:14px 16px}
.rb-hud::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(rgba(4,3,6,.55),transparent 24%,transparent 80%,rgba(4,3,6,.5))}
.rb-brand{display:flex;flex-direction:column;gap:4px;color:#f3e7cc;text-shadow:0 2px 10px rgba(0,0,0,.7)}
.rb-brand b{font-family:var(--font-serif);font-size:clamp(22px,2.6vw,32px);letter-spacing:.3em}
.rb-brand span{font-size:12px;letter-spacing:.14em;color:rgba(243,231,204,.78)}
.rb-hint{position:absolute;left:50%;bottom:12px;transform:translateX(-50%);white-space:nowrap;font-size:12px;letter-spacing:.16em;color:rgba(243,231,204,.6)}
.rb-toast{position:absolute;left:50%;top:16px;transform:translate(-50%,-6px);max-width:min(88%,520px);padding:8px 14px;border:1px solid rgba(240,200,110,.55);border-radius:4px;background:rgba(10,8,10,.82);color:#f3e7cc;font-size:13px;letter-spacing:.06em;text-align:center;opacity:0;transition:all .3s}
.rb-toast.is-on{opacity:1;transform:translate(-50%,0)}
.rb--nogl{display:none}
@media (max-width:760px){.rb{aspect-ratio:4/5;min-height:0;max-height:none}.rb-zone b{font-size:12px;letter-spacing:.14em}.rb-zone span{display:none}.rb-shop{font-size:11px}}
/* 点摊位后，对应商店卡片闪一下 */
.rs-card.is-flash{animation:rs-flash 1.6s ease}
@keyframes rs-flash{0%,100%{box-shadow:none}25%,60%{box-shadow:0 0 0 2px #f0c86e,0 0 28px -4px rgba(240,200,110,.8)}}
@media (prefers-reduced-motion:reduce){.rs-card.is-flash{animation:none;outline:2px solid #f0c86e}}

/* ===== 玩法文档 · 立国长卷 ===== */
.rds{position:relative}
.rds__stage{position:sticky;top:var(--nav-h,72px);padding:0 0 6px}
.rds-pagehead{padding:34px 0 18px!important;margin-bottom:14px}
.rds-pagehead .h1{font-size:clamp(28px,3.6vw,46px)!important}
.rds-pagehead .lead{margin-top:10px!important}
.rds__band{position:relative;height:clamp(250px,calc(100vh - var(--nav-h,72px) - 330px),470px);opacity:0;transition:opacity .6s}
.rds__band.is-ready{opacity:1}
.rds__canvas{position:absolute;inset:0;width:100%;height:100%;display:block;cursor:grab;touch-action:pan-y;filter:drop-shadow(0 14px 22px rgba(30,18,6,.28))}
.rds__canvas.is-drag{cursor:grabbing}
html[data-theme=night] .rds__canvas{filter:drop-shadow(0 16px 28px rgba(0,0,0,.6))}
.rds__layer{position:absolute;inset:0;overflow:hidden;pointer-events:none;clip-path:inset(4% 2.4% 4% 2.4%)}
.rds__layer>*{position:absolute;left:0;top:0;will-change:transform;transition:opacity .4s}
.rds__layer>:not(.is-on){opacity:0;pointer-events:none!important}
/* 卷首题字 */
.rds-head{display:flex;flex-direction:column;align-items:flex-start;gap:10px;width:240px}
.rds-head b{font-family:var(--font-display,serif);font-size:clamp(26px,3.2vw,42px);line-height:1.25;letter-spacing:.12em;color:#22170c;writing-mode:vertical-rl;height:7.4em}
.rds-head i{font-style:normal;font-size:12px;letter-spacing:.2em;color:#5c4a30}
.rds-seal{display:inline-grid;place-items:center;min-width:24px;height:24px;padding:0 3px;background:#9c2f1d;color:#f6e8c8;font-family:var(--font-display,serif);font-size:12px;font-weight:600;line-height:1;border-radius:2px;box-shadow:inset 0 0 0 1.5px rgba(246,232,200,.55)}
.rds-seal--name{width:40px;height:40px;font-size:12px;line-height:1.2;white-space:normal;text-align:center;padding:4px}
.rds-head .rds-seal--name{position:absolute;left:132px;top:6px}
/* 段题 */
.rds-stage{display:grid;grid-template-columns:auto auto;align-items:start;gap:4px 8px}
.rds-stage b{grid-row:1/3;font-family:var(--font-display,serif);font-size:clamp(22px,2.6vw,34px);line-height:1.1;letter-spacing:.06em;color:#1e140a;writing-mode:vertical-rl}
.rds-stage i{font-style:normal;font-size:12px;line-height:1.25;letter-spacing:.08em;color:#5c4a30;writing-mode:vertical-rl;max-height:11em}
.rds-stage .rds-seal{grid-column:1;margin-top:4px}
/* 驿站 */
.rds-st{pointer-events:auto;display:flex;flex-direction:column;align-items:center;gap:6px;transform-origin:0 0;text-decoration:none;color:#2a1d0e;margin-left:-9px;margin-top:-9px}
.rds-st__dot{position:relative;isolation:isolate;display:grid;place-items:center;width:18px;height:18px;color:#f6e8c8;font-size:10px;font-weight:700;line-height:1;transition:transform .2s}
.rds-st__dot::before{content:"";position:absolute;inset:1px;z-index:-1;background:#9c2f1d;transform:rotate(45deg);box-shadow:0 0 0 3px rgba(233,220,188,.75);transition:box-shadow .2s}
.rds-st__name{position:absolute;bottom:26px;left:9px;transform:translateX(-50%);padding:3px 8px;white-space:nowrap;font-size:12px;letter-spacing:.04em;background:rgba(244,234,208,.9);border:1px solid rgba(120,80,30,.4);border-radius:2px;transition:background .2s,color .2s}
.rds-st--down .rds-st__name{bottom:auto;top:26px}
.rds-st:hover .rds-st__dot,.rds-st:focus-visible .rds-st__dot{transform:scale(1.3)}.rds-st:hover .rds-st__dot::before,.rds-st:focus-visible .rds-st__dot::before{box-shadow:0 0 0 4px rgba(156,47,29,.25),0 0 18px rgba(156,47,29,.5)}
.rds-st:hover .rds-st__name,.rds-st:focus-visible .rds-st__name{background:#9c2f1d;color:#f6e8c8;border-color:#9c2f1d}
.rds-st:focus-visible{outline:none}
.rds-st.is-pending .rds-st__dot::before{background:#7d6a4c}
/* 跋 */
.rds-colo{display:flex;flex-direction:row-reverse;gap:14px;height:300px}
.rds-colo p{margin:0;writing-mode:vertical-rl;font-family:var(--font-display,serif);font-size:15px;letter-spacing:.2em;color:#2e2214}
.rds-colo__seals{display:flex;flex-direction:column;justify-content:flex-end;gap:6px}
.rds-colo .rds-seal{width:30px;height:30px;font-size:14px}
/* 悬停卡片 */
.rds-card{position:absolute;left:4%;bottom:7%;z-index:3;display:flex;flex-direction:column;gap:4px;max-width:min(320px,80%);padding:12px 14px;background:rgba(246,238,216,.97);border:1px solid #9c2f1d;border-left-width:4px;border-radius:2px;box-shadow:0 10px 24px rgba(40,24,8,.28);color:#2a1d0e;animation:rdsIn .25s ease both;pointer-events:none}
.rds-card small{font-size:11px;letter-spacing:.12em;color:#8e2a1a}.rds-card b{font-family:var(--font-display,serif);font-size:18px}.rds-card span{font-size:13px;line-height:1.7;color:#4a3a22}.rds-card em{font-style:normal;font-size:12px;color:#6b5434}
@keyframes rdsIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
/* 夜间：银白线描 */
html[data-theme=night] .rds-head b,html[data-theme=night] .rds-stage b,html[data-theme=night] .rds-colo p{color:#ecebe6}
html[data-theme=night] .rds-head i,html[data-theme=night] .rds-stage i{color:#a9a8a2}
html[data-theme=night] .rds-st{color:#ecebe6}
html[data-theme=night] .rds-st__name{background:rgba(16,16,18,.88);border-color:rgba(255,255,255,.16);color:#ecebe6}
html[data-theme=night] .rds-st__dot::before{box-shadow:0 0 0 3px rgba(16,16,18,.8)}
html[data-theme=night] .rds-card{background:rgba(20,20,22,.96);color:#f1f0ec;border-color:#c9573f}
html[data-theme=night] .rds-card span{color:#c6c5bf}html[data-theme=night] .rds-card em{color:#a9a8a2}html[data-theme=night] .rds-card small{color:#e0806a}
/* 下方控制条 */
.rds__bar{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:12px}
.rds__chips{display:flex;gap:6px;flex-wrap:wrap}
.rds-chip{display:inline-flex;align-items:center;gap:6px;padding:5px 12px 5px 6px;border:1px solid var(--line);border-radius:999px;background:transparent;color:var(--text-dim);font:inherit;font-size:13px;cursor:pointer;transition:all .2s}
.rds-chip span{display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:var(--line);color:var(--text);font-size:11px}
.rds-chip:hover,.rds-chip.is-on{color:var(--text);border-color:var(--accent)}.rds-chip.is-on span{background:#9c2f1d;color:#f6e8c8}
.rds-chip:focus-visible,.rds__skip:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.rds__hint{font-size:12px;color:var(--text-mute);letter-spacing:.06em}
.rds__skip{margin-left:auto;padding:6px 12px;border:0;background:none;color:var(--accent);font:inherit;font-size:13px;cursor:pointer}
@media(max-width:760px){.rds__band{height:clamp(240px,calc(100svh - 64px - 400px),340px)}.rds-pagehead{padding:22px 0 12px!important}.rds__hint{display:none}.rds-st__name{font-size:11px;padding:2px 6px}.rds-head{width:200px}.rds-colo p{font-size:13px}.rds-stage i{display:none}}
@media(prefers-reduced-motion:reduce){.rds__band{transition:none}}

/* ===== 文章页 ===== */
.rda-progress{position:fixed;left:0;right:0;top:var(--nav-h,72px);height:3px;z-index:60;pointer-events:none}
.rda-progress i{display:block;height:100%;background:linear-gradient(90deg,#9c2f1d,var(--accent));transform-origin:0 50%;transform:scaleX(0)}
.rda{margin:-12px 0 34px;padding:14px 16px 12px;border:1px solid var(--line);border-left:3px solid #9c2f1d;border-radius:var(--radius);background:var(--panel)}
.rda__head{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.rda__thumb{width:180px;max-width:42%;height:auto;border-radius:2px;opacity:.95;mix-blend-mode:multiply}
html[data-theme=night] .rda__thumb{mix-blend-mode:screen;filter:invert(1) grayscale(.4) brightness(.9)}
.rda__where{display:flex;align-items:center;gap:10px}.rda__where>span:last-child{display:flex;flex-direction:column;gap:2px}
.rda__where b{font-size:15px;color:var(--text)}.rda__where i{font-style:normal;font-size:12px;color:var(--text-dim)}
.rda__route{display:flex;align-items:center;gap:5px;list-style:none;margin:12px 0 8px;padding:0;flex-wrap:wrap}
.rda__route li.is-gap{margin-left:10px}
.rda__route a{display:block;padding:4px 1px}
.rda__route span{display:block;width:9px;height:9px;transform:rotate(45deg);border:1.5px solid var(--edge-line-strong);background:transparent;transition:all .2s}
.rda__route li.is-past span{background:var(--edge-line-strong)}
.rda__route li.is-cur span{width:12px;height:12px;background:#9c2f1d;border-color:#9c2f1d;box-shadow:0 0 0 3px rgba(156,47,29,.2)}
.rda__route a:hover span,.rda__route a:focus-visible span{border-color:var(--accent);background:var(--accent)}
.rda__nav{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:13px}
.rda__nav a{color:var(--text-dim)}.rda__nav a:hover{color:var(--text)}.rda__nav .rda__next{color:var(--accent)}
.prose pre{position:relative}
.rda-copy{position:absolute;top:8px;right:8px;padding:3px 10px;border:1px solid var(--line);border-radius:999px;background:var(--panel);color:var(--text-dim);font:inherit;font-size:12px;cursor:pointer;opacity:.75;transition:opacity .2s,color .2s}
.prose pre:hover .rda-copy,.rda-copy:focus-visible{opacity:1}.rda-copy:hover{color:var(--text)}
.rda-copy.is-copied{color:#3f7a4e;border-color:#3f7a4e;opacity:1}
.rda-cmd{cursor:copy;transition:box-shadow .2s,background .2s}.rda-cmd:hover{box-shadow:0 0 0 1px var(--accent)}
.rda-cmd.is-copied{box-shadow:0 0 0 1px #3f7a4e;background:rgba(63,122,78,.14)}
.rda-toast{position:fixed;left:50%;bottom:28px;transform:translateX(-50%);z-index:80;padding:8px 16px;border-radius:999px;background:#1e140a;color:#f6e8c8;font-size:13px;box-shadow:0 8px 20px rgba(0,0,0,.3);animation:rdsIn .2s ease both}
html[data-theme=night] .rda-toast{background:#f4f4f5;color:#0a0a0b}
.doctoc__link.rda-current{color:var(--accent);font-weight:600}

/* 掌书先生（AI 咨询）页 /ask —— 立轴式问询录 + 左侧人物 */
.ra-head{position:relative;overflow:hidden;padding-bottom:28px}
.ra-head:after{content:"問";position:absolute;right:max(5vw,calc(50% - 600px));top:52%;transform:translateY(-50%);font:700 clamp(130px,17vw,230px)/1 var(--font-serif);color:var(--text);opacity:.055;pointer-events:none}
.ra-head .h1{letter-spacing:.14em}
.ra-section{padding-top:34px}
.ra{--ra-gold:#a98a55;--ra-verm:#9c3b2c;--ra-rod1:#7a5335;--ra-rod2:#3a2518;width:min(1560px,calc(100vw - 48px));margin-left:calc(50% - min(780px,50vw - 24px));display:grid;grid-template-columns:minmax(250px,1fr) minmax(0,880px) minmax(0,1fr);gap:36px;align-items:start}
html[data-theme=night] .ra{--ra-gold:#c9a96a;--ra-verm:#d9705c;--ra-rod1:#5a3f29;--ra-rod2:#241710}
.ra-main{grid-column:2;display:flex;flex-direction:column;gap:16px;min-width:0}

/* 立轴：上下轴杆 + 双线边框 + 乌丝栏 */
.ra-paper{position:relative;margin:14px 12px;border:1px solid color-mix(in srgb,var(--ra-gold) 60%,var(--line));background:repeating-linear-gradient(90deg,transparent 0 47px,color-mix(in srgb,var(--ra-verm) 7%,transparent) 47px 48px),linear-gradient(180deg,color-mix(in srgb,var(--panel) 92%,#fff 8%),color-mix(in srgb,var(--panel) 86%,transparent));box-shadow:inset 0 0 0 5px color-mix(in srgb,var(--panel) 80%,transparent),inset 0 0 0 6px color-mix(in srgb,var(--ra-gold) 38%,transparent),0 26px 44px -30px rgba(40,24,8,.6)}
.ra-paper:before,.ra-paper:after{content:"";position:absolute;left:-12px;right:-12px;height:14px;border-radius:7px;background:linear-gradient(90deg,var(--ra-gold) 0 9px,transparent 9px calc(100% - 9px),var(--ra-gold) calc(100% - 9px)),linear-gradient(180deg,var(--ra-rod1),var(--ra-rod2));box-shadow:0 4px 8px -2px rgba(30,18,6,.45)}
.ra-paper:before{top:-14px}.ra-paper:after{bottom:-14px}
.ra-paper__head{display:flex;align-items:center;justify-content:center;gap:16px;padding:22px 30px 6px;font-family:var(--font-serif);font-size:15px;letter-spacing:.6em;color:var(--text-dim)}
.ra-paper__head span{padding-left:.6em;white-space:nowrap}
.ra-paper__head span:before,.ra-paper__head span:after{content:"◆";font-size:7px;letter-spacing:0;color:var(--ra-verm);vertical-align:middle;margin:0 1.6em 0 0}
.ra-paper__head span:after{margin:0 0 0 1em}
.ra-paper__head i{flex:1;height:1px;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--ra-gold) 75%,transparent))}
.ra-paper__head i:last-child{transform:scaleX(-1)}
.ra-log{display:flex;flex-direction:column;gap:16px;min-height:300px;max-height:60vh;overflow-y:auto;padding:14px 30px 26px;scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--ra-gold) 55%,transparent) transparent}
.ra-empty{margin:auto;text-align:center;padding:18px 8px 24px}
.ra-empty__title{margin:0 0 20px;font-family:var(--font-serif);font-size:19px;letter-spacing:.34em;text-indent:.34em;color:var(--text)}
.ra-suggest{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 12px;max-width:640px;margin:0 auto}
.ra-chip{position:relative;padding:8px 16px 8px 26px;border:1px solid color-mix(in srgb,var(--ra-gold) 55%,var(--line));border-radius:2px;background:color-mix(in srgb,var(--panel) 75%,transparent);color:var(--text-dim);font-family:var(--font-serif);font-size:14.5px;letter-spacing:.06em;cursor:pointer;transition:border-color .25s,color .25s,background .25s,transform .25s,box-shadow .25s;animation:ra-in .45s ease both}
.ra-chip:before{content:"";position:absolute;left:12px;top:50%;width:5px;height:5px;margin-top:-2.5px;background:var(--ra-verm);transform:rotate(45deg);opacity:.75;transition:transform .3s}
.ra-chip:hover,.ra-chip:focus-visible{border-color:var(--ra-verm);color:var(--text);background:color-mix(in srgb,var(--ra-verm) 7%,var(--panel));transform:translateY(-2px);box-shadow:0 8px 14px -10px rgba(40,24,8,.55);outline:none}
.ra-chip:hover:before{transform:rotate(225deg)}
.ra-empty__note{margin:22px 0 0;font-size:13px;letter-spacing:.04em;color:var(--text-mute)}
.ra-msg{max-width:88%;padding:13px 18px;border-radius:2px;font-size:15px;line-height:1.85;animation:ra-in .35s ease both}
.ra-msg p{margin:0}
.ra-msg--user{align-self:flex-end;background:color-mix(in srgb,var(--ra-verm) 9%,var(--panel));border:1px solid color-mix(in srgb,var(--ra-verm) 35%,transparent);color:var(--text);white-space:pre-wrap;overflow-wrap:anywhere}
.ra-msg--ai{align-self:flex-start;background:color-mix(in srgb,var(--panel) 88%,#fff 12%);border:1px solid color-mix(in srgb,var(--ra-gold) 45%,var(--line));border-left:3px solid var(--ra-verm);color:var(--text);box-shadow:0 10px 18px -16px rgba(40,24,8,.5)}
html[data-theme=night] .ra-msg--ai{background:var(--panel)}
.ra-msg__who{display:flex;align-items:center;gap:7px;margin-bottom:7px;font-family:var(--font-serif);font-size:13px;letter-spacing:.24em;color:var(--ra-verm)}
.ra-text{display:flex;flex-direction:column;gap:8px;overflow-wrap:anywhere}
.ra-text .ra-h{font-family:var(--font-serif);font-weight:700;letter-spacing:.06em}
.ra-list{margin:0;padding-left:1.5em;display:flex;flex-direction:column;gap:4px}
.ra-code{padding:1px 6px;border-radius:2px;background:color-mix(in srgb,var(--ra-gold) 20%,transparent);font-family:var(--font-mono);font-size:.92em;word-break:break-all}
.ra-table{margin:0;padding:10px 12px;border:1px solid var(--line);border-radius:2px;background:color-mix(in srgb,var(--bg) 40%,transparent);font-family:var(--font-mono);font-size:13px;line-height:1.7;white-space:pre-wrap;overflow-x:auto}
.ra-error{color:#b23a26;font-size:14px}
html[data-theme=night] .ra-error{color:#f08a76}
.ra-typing{display:flex;align-items:center;gap:6px;color:var(--text-mute);font-size:14px}
.ra-typing i{width:5px;height:5px;background:var(--ra-verm);transform:rotate(45deg);animation:ra-dot 1.2s infinite}
.ra-typing i:nth-child(2){animation-delay:.2s}.ra-typing i:nth-child(3){animation-delay:.4s;margin-right:6px}
@keyframes ra-dot{0%,80%,100%{opacity:.25}40%{opacity:1}}
@keyframes ra-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.ra-src{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:12px;padding-top:10px;border-top:1px dashed color-mix(in srgb,var(--ra-gold) 55%,var(--line))}
.ra-src>span{font-family:var(--font-serif);font-size:12px;letter-spacing:.2em;color:var(--text-mute);margin-right:2px}
.ra-src__link{padding:2px 10px;border:1px solid color-mix(in srgb,var(--ra-gold) 50%,var(--line));border-radius:2px;font-size:12px;color:var(--text-dim);text-decoration:none;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transition:border-color .2s,color .2s}
.ra-src__link:hover{border-color:var(--ra-verm);color:var(--ra-verm)}

/* 笺纸输入框 */
.ra-form{display:flex;flex-direction:column;gap:10px;margin:8px 12px 0;padding:16px 18px 14px;border:1px solid color-mix(in srgb,var(--ra-gold) 60%,var(--line));border-radius:2px;background:color-mix(in srgb,var(--panel) 90%,#fff 10%);box-shadow:inset 0 0 0 4px color-mix(in srgb,var(--panel) 80%,transparent),inset 0 0 0 5px color-mix(in srgb,var(--ra-gold) 30%,transparent),0 18px 30px -26px rgba(40,24,8,.6);transition:border-color .25s}
html[data-theme=night] .ra-form{background:var(--panel)}
.ra-form:focus-within{border-color:var(--ra-verm)}
.ra-input{width:100%;box-sizing:border-box;resize:none;height:56px;max-height:160px;padding:0 4px;border:0;border-radius:0;background:none;color:var(--text);font:inherit;font-size:15px;line-height:28px;outline:none}
.ra-input::placeholder{color:var(--text-mute);opacity:.85}
.ra-form__row{display:flex;align-items:center;gap:10px}
.ra-count{margin-right:auto;font-family:var(--font-mono);font-size:12px;color:var(--text-mute)}
.ra-form .btn{font-family:var(--font-serif);letter-spacing:.3em;text-indent:.3em;border-radius:2px}
.ra-form .btn:disabled{opacity:.5;cursor:not-allowed}
.ra-note{margin:0 12px;font-size:12px;line-height:1.7;letter-spacing:.03em;color:var(--text-mute);text-align:center}
.ra-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

/* —— 掌书先生：人物与动态（状态类 .zs.is-idle / thinking / speaking / done / error，外加点击时的 is-poke） —— */
.zs{--ex:0px;--ey:0px;--zs-w1:#f6eed8;--zs-w2:#dccba2;--zs-ring:#5a3b25;--zs-gold:#b0915a;--zs-wood:#4a301f;--zs-robe:#3b4d5c;--zs-robe-d:#27343f;--zs-lapel:#1e2831;--zs-skin:#ecd3ad;--zs-skin-d:#dcbb8e;--zs-hair:#f8f5ec;--zs-hat:#221c18;--zs-ink:#26201b;--zs-night:0;grid-column:1;justify-self:center;width:100%;max-width:270px;position:sticky;top:96px;display:flex;flex-direction:column;align-items:center;gap:8px}
html[data-theme=night] .zs{--zs-w1:#2b3850;--zs-w2:#151c2b;--zs-ring:#6d5236;--zs-gold:#c9a96a;--zs-wood:#33231a;--zs-robe:#465d6c;--zs-robe-d:#2c3c48;--zs-lapel:#1a232b;--zs-skin:#e3c8a0;--zs-skin-d:#c9a67c;--zs-night:1}
.zs-fig{display:block;width:100%;padding:0;border:0;background:none;cursor:pointer;-webkit-tap-highlight-color:transparent;filter:drop-shadow(0 14px 16px rgba(40,24,8,.22))}
.zs-fig:focus-visible{outline:2px solid var(--ra-verm);outline-offset:4px;border-radius:12px}
.zs-svg{display:block;width:100%;height:auto;overflow:visible}
.zs-svg *{transform-box:fill-box;transform-origin:center}
.zs-w1{stop-color:var(--zs-w1)}.zs-w2{stop-color:var(--zs-w2)}
.zs-r1{stop-color:var(--zs-robe)}.zs-r2{stop-color:var(--zs-robe-d)}
.zs-f1{stop-color:var(--zs-skin)}.zs-f2{stop-color:var(--zs-skin-d)}
.zs-d1{stop-color:#6d4932}.zs-d2{stop-color:var(--zs-wood)}
.zs-ground{fill:#1c120a;opacity:.2}
.zs-ring{fill:none;stroke:var(--zs-ring);stroke-width:7}
.zs-ring2{fill:none;stroke:var(--zs-gold);stroke-width:1.2;opacity:.9}
.zs-sun{fill:#b5493a;opacity:.72;transition:fill .5s}
html[data-theme=night] .zs-sun{fill:#f1e3b0;opacity:1}
.zs-stars{fill:#f1e3b0;opacity:var(--zs-night);animation:zs-twinkle 3.2s ease-in-out infinite}
.zs-mt1{fill:var(--zs-ink);opacity:calc(.13 + var(--zs-night)*.25)}
.zs-mt2{fill:var(--zs-ink);opacity:calc(.22 + var(--zs-night)*.3)}
.zs-mist{fill:var(--zs-w1);opacity:.55}
.zs-birds{fill:none;stroke:var(--zs-ink);stroke-width:1.3;stroke-linecap:round;opacity:calc(.55 - var(--zs-night)*.55);animation:zs-birds 9s ease-in-out infinite}
.zs-pine path{fill:none;stroke:#4a3525;stroke-width:3;stroke-linecap:round}
.zs-pine ellipse{fill:#3c5a4b;opacity:.88}
.zs-pine{transform-origin:0 50%;animation:zs-pine 6s ease-in-out infinite}
.zs-motes{fill:#fff3c9}
.zs-motes circle{opacity:0;animation:zs-mote 7s linear infinite}
.zs-motes circle:nth-child(2){animation-delay:-2s}.zs-motes circle:nth-child(3){animation-delay:-4s}.zs-motes circle:nth-child(4){animation-delay:-5.5s}
.zs-robe2{fill:var(--zs-robe-d);opacity:.55}
.zs-lapel{fill:none;stroke:var(--zs-lapel);stroke-width:13;stroke-linejoin:round;stroke-linecap:round}
.zs-lapelline{fill:none;stroke:var(--zs-gold);stroke-width:1;stroke-linejoin:round;opacity:.8}
.zs-collar{fill:none;stroke:#f1e9d6;stroke-width:4.5;stroke-linecap:round;stroke-linejoin:round}
.zs-sleeve{fill:var(--zs-robe);stroke:var(--zs-robe-d);stroke-width:1.5}
.zs-cuff{fill:none;stroke:#f1e9d6;stroke-width:3;stroke-linecap:round;opacity:.9}
.zs-skin,.zs-ear{fill:var(--zs-skin)}.zs-ear{fill:var(--zs-skin-d)}
.zs-cheek{fill:#d98a6a;opacity:.26}
.zs-wrinkle{fill:none;stroke:#a67c52;stroke-width:1;stroke-linecap:round;opacity:.45}
.zs-hat{fill:var(--zs-hat)}
.zs-hatband{fill:none;stroke:var(--zs-gold);stroke-width:1.6;stroke-linecap:round}
.zs-hatline{stroke:#3a302a;stroke-width:1.2}
.zs-jade{fill:#7fae9d;stroke:#e9f3ee;stroke-width:.8}
.zs-ribbon{fill:none;stroke:var(--zs-hat);stroke-width:5;stroke-linecap:round;transform-origin:50% 0;animation:zs-sway 4.6s ease-in-out infinite}
.zs-ribbon-r{animation-delay:-2.3s}
.zs-beard{stroke:#cfc7b4;stroke-width:.8;transform-origin:50% 0;animation:zs-beard 5s ease-in-out infinite}
.zs-beardline{fill:none;stroke:#c9c0ab;stroke-width:1.1;stroke-linecap:round;opacity:.8;transform-origin:50% 0;animation:zs-beard 5s ease-in-out infinite}
.zs-brow,.zs-stache{fill:none;stroke:var(--zs-hair);stroke-width:5;stroke-linecap:round;transition:transform .3s;filter:drop-shadow(0 .6px 0 #b9b09c)}
.zs-stache{stroke-width:4.5}
.zs-nose{fill:none;stroke:#b98e62;stroke-width:1.8;stroke-linecap:round}
.zs-eyes{animation:zs-blink 5.2s infinite}
.zs-lid{fill:none;stroke:var(--zs-ink);stroke-width:1.5;stroke-linecap:round;opacity:.75}
.zs-pupils{fill:var(--zs-ink);transform:translate(var(--ex),var(--ey));transition:transform .18s ease-out}
.zs-mouth{fill:#7a3b2e}
.zs-man{animation:zs-breathe 4.2s ease-in-out infinite}
.zs-svg .zs-head{transform-box:view-box;transform-origin:150px 208px;animation:zs-idle 7s ease-in-out infinite;transition:transform .45s ease}
.zs-brush{stroke:#6b4a2e;stroke-width:3.2;stroke-linecap:round}
.zs-brushcap{stroke:var(--zs-gold);stroke-width:3.6;stroke-linecap:butt}
.zs-brushtip{fill:var(--zs-ink)}
.zs-svg .zs-hand{transform-origin:20% 90%;transition:transform .4s ease}
.zs-apron{fill:var(--zs-wood)}
.zs-deskline{fill:none;stroke:var(--zs-gold);stroke-width:.9;opacity:.6}
.zs-pg{fill:#f5edd8;stroke:#c9b98f;stroke-width:1}
.zs-pgline{fill:none;stroke:#b9a77c;stroke-width:1;opacity:.8}
.zs-svg .zs-flip{fill:#fcf6e4;stroke:#c9b98f;stroke-width:1;transform-origin:0 50%;opacity:0}
.zs-stack .a{fill:#2f4252}.zs-stack .b{fill:#5d7480}.zs-stack .l{fill:#f1e9d6}
.zs-stack path{fill:none;stroke:#f1e9d6;stroke-width:1;opacity:.7}
.zs-inkstone{fill:var(--zs-ink)}
.zs-dish{fill:var(--zs-gold)}
.zs-candle{fill:#f1e9d6}
.zs-svg .zs-flame{fill:#ffb54a;transform-origin:50% 100%;animation:zs-flame 1.1s ease-in-out infinite}
.zs-glow{opacity:calc(.3 + var(--zs-night)*.55);animation:zs-glow 2.4s ease-in-out infinite}
.zs.is-thinking .zs-head{animation:none;transform:rotate(3deg) translateY(5px)}
.zs.is-thinking .zs-pupils{transform:translate(0,2.4px)}
.zs.is-thinking .zs-flip{animation:zs-flip .95s ease-in-out infinite}
.zs.is-thinking .zs-brow-l{transform:translateY(-2px) rotate(-4deg)}
.zs.is-speaking .zs-head{animation:zs-nod 1.5s ease-in-out infinite}
.zs.is-speaking .zs-mouth{animation:zs-talk .32s ease-in-out infinite alternate}
.zs.is-speaking .zs-hand{animation:zs-wave 1.1s ease-in-out infinite}
.zs.is-error .zs-head{animation:zs-shake .5s ease-in-out 2}
.zs.is-error .zs-brow-l{transform:rotate(12deg) translateY(2px)}
.zs.is-error .zs-brow-r{transform:rotate(-12deg) translateY(2px)}
.zs.is-poke .zs-head{animation:zs-poke .65s ease}
.zs.is-poke .zs-brow{transform:translateY(-3px)}
.zs.is-poke .zs-beard,.zs.is-poke .zs-beardline{animation:zs-beard .22s ease-in-out 3}
.zs-info{display:flex;flex-direction:column;align-items:center;gap:14px;width:100%;min-width:0}
.zs-bubble{position:relative;margin:8px 0 0;padding:11px 18px;border:1px solid color-mix(in srgb,var(--ra-gold) 60%,var(--line));border-radius:2px;background:color-mix(in srgb,var(--panel) 90%,#fff 10%);box-shadow:inset 0 0 0 3px color-mix(in srgb,var(--panel) 80%,transparent),inset 0 0 0 4px color-mix(in srgb,var(--ra-gold) 28%,transparent),0 14px 20px -18px rgba(40,24,8,.6);color:var(--text);font-family:var(--font-serif);font-size:15px;line-height:1.75;letter-spacing:.08em;text-align:center;animation:zs-pop .32s ease both}
html[data-theme=night] .zs-bubble{background:var(--panel)}
.zs-bubble:before{content:"";position:absolute;left:50%;top:-6.5px;width:11px;height:11px;margin-left:-5.5px;background:color-mix(in srgb,var(--panel) 90%,#fff 10%);border-left:1px solid color-mix(in srgb,var(--ra-gold) 60%,var(--line));border-top:1px solid color-mix(in srgb,var(--ra-gold) 60%,var(--line));transform:rotate(45deg)}
html[data-theme=night] .zs-bubble:before{background:var(--panel)}
.zs-name{display:flex;align-items:center;gap:12px;margin:0;font-family:var(--font-serif);font-size:14px;letter-spacing:.2em;color:var(--text-dim)}
.zs-name small{display:block;margin-top:3px;font-size:11px;letter-spacing:.1em;color:var(--text-mute)}
.zs-seal{display:inline-grid;place-items:center;flex:none;width:36px;height:36px;border-radius:4px;background:var(--ra-verm);color:#f6ecd8;font-family:var(--font-serif);font-style:normal;font-weight:700;font-size:13px;line-height:1.05;letter-spacing:0;writing-mode:vertical-rl;transform:rotate(-4deg);box-shadow:inset 0 0 0 2px var(--ra-verm),inset 0 0 0 3px rgba(246,236,216,.55)}
html[data-theme=night] .zs-seal{color:#2a1712}
.zs-seal--sm{width:19px;height:19px;border-radius:3px;font-size:11px;writing-mode:horizontal-tb;transform:rotate(-6deg);box-shadow:none}
@keyframes zs-pop{from{opacity:0;transform:translateY(-4px) scale(.97)}to{opacity:1;transform:none}}
@keyframes zs-breathe{0%,100%{transform:translateY(0)}50%{transform:translateY(-1.6px)}}
@keyframes zs-idle{0%,100%{transform:rotate(-1.2deg)}50%{transform:rotate(1.2deg)}}
@keyframes zs-nod{0%,100%{transform:rotate(0) translateY(0)}30%{transform:rotate(1.5deg) translateY(2.5px)}60%{transform:rotate(-1deg) translateY(0)}}
@keyframes zs-shake{0%,100%{transform:rotate(0)}25%{transform:rotate(-4deg)}75%{transform:rotate(4deg)}}
@keyframes zs-poke{0%{transform:rotate(0)}30%{transform:rotate(-6deg) translateY(-3px)}65%{transform:rotate(3deg)}100%{transform:rotate(0)}}
@keyframes zs-blink{0%,94%,100%{transform:scaleY(1)}96.5%{transform:scaleY(.1)}}
@keyframes zs-talk{from{transform:scaleY(.8)}to{transform:scale(1.15,3.4)}}
@keyframes zs-wave{0%,100%{transform:rotate(0)}50%{transform:rotate(-9deg) translateY(-3px)}}
@keyframes zs-beard{0%,100%{transform:skewX(-1.6deg)}50%{transform:skewX(1.6deg)}}
@keyframes zs-sway{0%,100%{transform:rotate(-3deg)}50%{transform:rotate(4deg)}}
@keyframes zs-pine{0%,100%{transform:rotate(-1.2deg)}50%{transform:rotate(1.4deg)}}
@keyframes zs-birds{0%,100%{transform:translate(0,0)}50%{transform:translate(10px,-5px)}}
@keyframes zs-flip{0%{transform:scaleX(1);opacity:1}85%{transform:scaleX(-1);opacity:1}100%{transform:scaleX(-1);opacity:0}}
@keyframes zs-flame{0%,100%{transform:scale(1,1) rotate(-2deg)}50%{transform:scale(.88,1.14) rotate(3deg)}}
@keyframes zs-glow{0%,100%{transform:scale(1)}50%{transform:scale(1.08)}}
@keyframes zs-twinkle{0%,100%{opacity:calc(var(--zs-night)*.9)}50%{opacity:calc(var(--zs-night)*.35)}}
@keyframes zs-mote{0%{transform:translate(0,0);opacity:0}15%{opacity:.8}100%{transform:translate(10px,-46px);opacity:0}}

@media (max-width:1000px){
 .ra{width:auto;margin-left:0;grid-template-columns:minmax(0,1fr);gap:18px}
 .ra-main,.zs{grid-column:1}
 .ra-head{padding-bottom:16px}
 .zs{position:static;max-width:none;flex-direction:row;align-items:center;gap:14px}
 .zs-fig{width:116px;flex:none}
 .zs-info{align-items:flex-start;gap:8px}
 .zs-bubble{margin:0;text-align:left;font-size:14px;padding:8px 13px}
 .zs-bubble:before{left:-6.5px;top:50%;margin:-5.5px 0 0;border-top:0;border-bottom:1px solid color-mix(in srgb,var(--ra-gold) 60%,var(--line))}
 .zs-name{font-size:12px;gap:8px;letter-spacing:.12em}
 .zs-name small{display:none}
 .zs-name .zs-seal{width:26px;height:26px;font-size:10px}
}
@media (max-width:640px){
 .ra-paper{margin:14px 6px}.ra-paper:before,.ra-paper:after{left:-6px;right:-6px}
 .ra-paper__head{padding:18px 16px 4px;font-size:14px;letter-spacing:.4em}
 .ra-log{padding:10px 14px 18px;max-height:58vh;min-height:240px}
 .ra-form{margin:8px 6px 0;padding:12px 12px 10px}.ra-note{margin:0 6px}
 .ra-msg{max-width:96%;font-size:14px;padding:11px 13px}.ra-chip{font-size:13.5px;padding:7px 12px 7px 22px}.ra-chip:before{left:9px}
 .ra-head:after{opacity:.04}
}
@media (prefers-reduced-motion:reduce){.ra-typing i,.ra-msg,.ra-chip,.zs-bubble,.zs-svg *{animation:none!important}}

/* 玩法文档 · 死亡惩罚模拟器 */
.ds{position:relative;margin:4px 0 28px;border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden;background:#07050a;isolation:isolate;container-type:inline-size}
.ds-stage{position:relative;aspect-ratio:16/9;max-height:420px;width:100%}
.ds-canvas{position:absolute;inset:0;width:100%;height:100%;display:block;cursor:grab;touch-action:pan-y}
.ds-canvas:active{cursor:grabbing}
.ds-labels{position:absolute;inset:0;z-index:1;pointer-events:none;overflow:hidden}
.ds-tag{position:absolute;left:0;top:0;white-space:nowrap;padding:2px 8px;border-radius:2px;background:rgba(12,8,14,.78);border:1px solid rgba(255,120,90,.45);color:#ffd9cc;font-size:12px;letter-spacing:.06em;transition:opacity .3s}

/* 顶部：一行数值 */
.ds-top{position:absolute;left:10px;top:10px;z-index:2;display:flex;gap:6px;flex-wrap:wrap;pointer-events:none}
.ds-stat{padding:3px 9px;border-radius:3px;background:rgba(12,8,14,.7);border:1px solid rgba(255,255,255,.12);font-size:12px;color:rgba(243,231,204,.75);letter-spacing:.04em}
.ds-stat b{font-family:var(--font-mono);color:#f3e7cc;font-variant-numeric:tabular-nums}
.ds-stat--hp,.ds-stat--hp b{color:#ff6a5a}
/* 旁白 */
.ds-narr{margin:0;padding:9px 14px;min-height:40px;border-top:1px solid var(--line);background:color-mix(in srgb,var(--bg) 55%,var(--panel));color:var(--text);font-size:13px;line-height:1.6;letter-spacing:.02em;border-left:3px solid var(--line);transition:border-color .3s,background .3s}
.ds-narr.is-bad{border-left-color:#e0402c;background:color-mix(in srgb,#e0402c 10%,var(--panel))}
.ds-narr.is-gold{border-left-color:#e8b84a;background:color-mix(in srgb,#e8b84a 10%,var(--panel))}
.ds-narr.is-ok{border-left-color:#5ac878;background:color-mix(in srgb,#5ac878 9%,var(--panel))}

/* 「你死了！」 */
.ds-death{position:absolute;inset:0;z-index:3;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;pointer-events:none;opacity:0;transition:opacity .4s;
 background:radial-gradient(ellipse at center,rgba(120,0,0,.18),rgba(80,0,0,.55))}
.ds-death b{font-family:var(--font-serif);font-size:clamp(26px,6cqi,46px);letter-spacing:.2em;color:#ff3b30;text-shadow:3px 3px 0 #3a0000,0 0 30px rgba(255,40,30,.6);transform:scale(1.2);transition:transform .5s cubic-bezier(.2,1.6,.4,1)}
.ds-death span{font-size:14px;letter-spacing:.14em;color:#ffd9cc;text-shadow:0 1px 6px #000}
.ds.is-dead .ds-death{opacity:1}
.ds.is-dead .ds-death b{transform:scale(1)}

/* 背包：Minecraft 风格格子 */
.ds-inv{position:absolute;left:50%;bottom:8px;z-index:2;transform:translateX(-50%);display:flex;align-items:flex-end;gap:10px;padding:6px;border-radius:4px;background:rgba(10,8,12,.55);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.ds-armor,.ds-hotbar{display:flex;gap:3px}
.ds-armor{padding-right:10px;border-right:1px solid rgba(255,255,255,.14)}
.ds-slot{position:relative;width:30px;height:30px;background:#8b8b8b;box-shadow:inset 2px 2px 0 #373737,inset -2px -2px 0 #ffffff60;display:grid;place-items:center;transition:transform .2s}
.ds-slot i{display:block;width:16px;height:16px;background:var(--c);box-shadow:inset -3px -3px 0 rgba(0,0,0,.28),inset 3px 3px 0 rgba(255,255,255,.28)}
.ds-slot i[data-shape=sword]{width:5px;height:20px;transform:rotate(45deg);box-shadow:inset -2px 0 0 rgba(0,0,0,.3),0 9px 0 -1px #5a3a1a}
.ds-slot i[data-shape=torch]{width:6px;height:22px;background:linear-gradient(#ffd56a 0 30%,#7a5230 30%)}
.ds-slot i[data-shape=diamond],.ds-slot i[data-shape=pearl]{transform:rotate(45deg);width:16px;height:16px}
.ds-slot i[data-shape=pearl]{border-radius:50%;transform:none}
.ds-slot i[data-shape=fruit]{border-radius:40% 40% 45% 45%;box-shadow:inset -3px -3px 0 rgba(150,90,0,.5),inset 3px 3px 0 rgba(255,255,255,.4),0 -8px 0 -6px #5a8a2a}
.ds-slot i[data-shape=tag]{width:24px;height:12px;clip-path:polygon(0 50%,25% 0,100% 0,100% 100%,25% 100%)}
.ds-slot i[data-shape=ingot],.ds-slot i[data-shape=bread]{width:24px;height:11px}
.ds-slot i[data-shape=shield]{width:18px;height:24px;border-radius:2px 2px 9px 9px}
.ds-slot i[data-shape=helmet]{height:14px;border-radius:8px 8px 0 0}
.ds-slot i[data-shape=boots]{height:12px;width:24px}
.ds-slot em{position:absolute;right:1px;bottom:-1px;font-style:normal;font-family:var(--font-mono);font-size:10px;font-weight:700;color:#fff;text-shadow:2px 2px 0 #3f3f3f}
.ds-slot small{display:none;position:absolute;left:2px;top:0;font-size:9px;color:#2a2a2a;letter-spacing:0}
.ds-slot.is-empty i{opacity:0}
.ds-slot.is-soul i{animation:ds-soul 2s ease-in-out infinite}
@keyframes ds-soul{50%{filter:drop-shadow(0 0 4px #4fe0e6) brightness(1.3)}}
.ds-slot.is-drop{animation:ds-drop .9s ease}
@keyframes ds-drop{0%,40%{background:#c0392b;transform:translateY(-4px)}100%{background:#8b8b8b}}
.ds-slot.is-burn{animation:ds-burn 1s ease}
@keyframes ds-burn{0%,50%{background:#f0b030;box-shadow:inset 2px 2px 0 #7a5a00,0 0 16px #ffc040}100%{background:#8b8b8b}}
.ds-slot.is-gain{animation:ds-gain .7s ease}
@keyframes ds-gain{0%,40%{background:#5ac878;transform:translateY(-3px)}}

/* 控制按钮：一行 */
.ds-controls{display:flex;gap:6px;flex-wrap:wrap;padding:10px 12px;border-top:1px solid var(--line);background:var(--panel)}
.ds-btn{padding:6px 12px;border:1px solid var(--line);border-radius:4px;background:none;color:var(--text-dim);font:inherit;font-size:13px;letter-spacing:.06em;cursor:pointer;transition:all .2s}
.ds-btn:hover:not(:disabled){color:var(--text);border-color:var(--text-mute)}
.ds-btn:disabled{opacity:.4;cursor:not-allowed}
.ds-btn--die{color:var(--text);border-color:color-mix(in srgb,#e0402c 70%,transparent);background:color-mix(in srgb,#e0402c 18%,transparent)}
.ds-btn--eat{color:var(--text);border-color:color-mix(in srgb,#e8b84a 70%,transparent);background:color-mix(in srgb,#e8b84a 16%,transparent)}
.ds-btn[aria-pressed=true]{color:var(--text);border-color:#5ac878;background:color-mix(in srgb,#5ac878 14%,transparent)}
.ds-btn--ghost{margin-left:auto;color:var(--text-mute)}
.ds-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.ds.is-busy .ds-btn{pointer-events:none;opacity:.6}
.ds--nogl{display:none}

@container (max-width:520px){
 .ds-stage{aspect-ratio:4/3}
 .ds-inv{gap:6px;padding:4px}
 .ds-armor{display:none}
 .ds-slot{width:24px;height:24px}
 .ds-slot i{transform:scale(.75)}
 .ds-slot i[data-shape=sword]{transform:rotate(45deg) scale(.75)}
 .ds-slot em{font-size:9px}
 .ds-btn{padding:5px 9px;font-size:12px}
}
@media (prefers-reduced-motion:reduce){.ds-slot.is-soul i,.ds-slot.is-drop,.ds-slot.is-burn,.ds-slot.is-gain{animation:none}}

/* ===== 开始游戏 · 通关文牒 ===== */
.rsp{position:relative;--paper:#f2e7ca;--paper-2:#e7d9b6;--ink:#22170c;--ink-dim:#4a3a22;--rule:rgba(156,47,29,.55);--fleck:rgba(176,132,48,.55);--cover:#1f2c48}
html[data-theme=night] .rsp{--paper:#1c1b1f;--paper-2:#151418;--ink:#ecebe6;--ink-dim:#b9b8b2;--rule:rgba(214,120,96,.5);--fleck:rgba(214,192,143,.35);--cover:#0f1014}
.rsp__stage{position:sticky;top:var(--nav-h,72px)}
.rsp-pagehead{padding:30px 0 14px!important;border-bottom:0!important;background:none!important}
.rsp-headrow{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;flex-wrap:wrap}
.rsp-headrow .h1{font-size:clamp(28px,3.6vw,46px);margin:6px 0 0}
.rsp-headrow .lead{margin:8px 0 0;font-size:15px}
.rsp-quick{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.rsp-ipchip,.rsp-codebtn{display:inline-flex;align-items:center;gap:10px;padding:8px 8px 8px 14px;border:1px solid var(--line);border-radius:999px;background:var(--panel);color:var(--text);font:inherit;cursor:pointer;transition:border-color .2s}
.rsp-ipchip code,.rsp-codebtn code{font-family:var(--font-mono);font-size:14px;background:none;padding:0;color:inherit}
.rsp-ipchip span,.rsp-codebtn span{font-size:12px;padding:3px 10px;border-radius:999px;background:var(--accent);color:var(--bg)}
.rsp-ipchip:hover,.rsp-codebtn:hover{border-color:var(--accent)}
.rsp-ipchip:focus-visible,.rsp-codebtn:focus-visible,.rsp-ip:focus-visible,.rsp-step:focus-visible,.rsp-skip:focus-visible,.rsp-act:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
/* 舞台 */
.rsp-view{position:relative;height:clamp(330px,calc(100vh - var(--nav-h,72px) - 260px),520px);perspective:1600px;perspective-origin:50% 30%}
.rsp-root{position:absolute;left:50%;top:50%;transform-style:preserve-3d;transform-origin:0 0;will-change:transform}
.rsp--v .rsp-root{top:12px;transition:transform .25s ease-out}
.rsp--v .rsp-view{overflow:hidden;-webkit-mask:linear-gradient(transparent,#000 14px,#000 calc(100% - 14px),transparent);mask:linear-gradient(transparent,#000 14px,#000 calc(100% - 14px),transparent)}
.rsp-save{padding:7px 16px;font-size:13px;animation:rdsIn .4s ease both}
.rsp--v .rsp-seal--big{right:18px;margin-right:0;top:20px;bottom:auto;width:60px;height:60px;font-size:15px}
.rsp--v .rsp-cert .rsp-splash{right:48px;top:50px;bottom:auto}
.rsp--v .rsp-cert h3{padding-right:70px}
.rsp-ground{position:absolute;left:50%;bottom:4px;height:46px;transform:translateX(-50%);border-radius:50%;background:radial-gradient(closest-side,rgba(60,36,12,.32),transparent);pointer-events:none;transition:width .2s}
html[data-theme=night] .rsp-ground{background:radial-gradient(closest-side,rgba(0,0,0,.7),transparent)}
.rsp--v .rsp-ground{display:none}
/* 折页 */
.rsp-pn{position:absolute;left:100%;top:0;transform-style:preserve-3d;transform-origin:0 50%;will-change:transform}
.rsp-pn--first{left:0;position:relative}
.rsp--v .rsp-pn{left:0;top:100%;transform-origin:50% 0}
.rsp--v .rsp-pn--first{top:0}
.rsp-face,.rsp-back{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;box-sizing:border-box;overflow:hidden}
.rsp-back{transform:rotateY(180deg);background:var(--paper-2);background-image:repeating-linear-gradient(90deg,rgba(120,85,35,.05) 0 2px,transparent 2px 9px)}
.rsp--v .rsp-back{transform:rotateX(180deg)}
.rsp-shade{position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(40,24,8,.55),rgba(40,24,8,.15));opacity:0;backface-visibility:hidden;-webkit-backface-visibility:hidden}
.rsp--v .rsp-shade{background:linear-gradient(180deg,rgba(40,24,8,.55),rgba(40,24,8,.15))}
.rsp-paper{background-color:var(--paper);color:var(--ink);padding:24px 20px 18px;font-size:13px;line-height:1.75;
 background-image:radial-gradient(var(--fleck) .8px,transparent 1.3px),radial-gradient(var(--fleck) .6px,transparent 1px),linear-gradient(90deg,rgba(120,80,30,.12),transparent 7%,transparent 93%,rgba(120,80,30,.08));
 background-size:53px 61px,37px 29px,auto;background-position:7px 11px,21px 4px,0 0;box-shadow:inset 1px 0 0 rgba(120,85,35,.3)}
.rsp-paper::before{content:"";position:absolute;inset:9px;border:1.5px solid var(--rule);outline:1px solid var(--rule);outline-offset:-6px;opacity:.85;pointer-events:none}
.rsp-paper::after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(120% 90% at 50% 40%,transparent 60%,rgba(110,70,20,.12))}
.rsp-h{display:flex;align-items:center;gap:10px;margin-bottom:12px}
.rsp-h h3{margin:0;font-family:var(--font-display,serif);font-size:21px;letter-spacing:.08em;color:var(--ink)}
.rsp-num{display:grid;place-items:center;width:30px;height:30px;flex-shrink:0;background:#9c2f1d;color:#f6e8c8;font-family:var(--font-display,serif);font-size:16px;box-shadow:inset 0 0 0 2px rgba(246,232,200,.45)}
.rsp-body p{margin:0;color:var(--ink)}
.rsp-act{position:relative;z-index:2;display:block;margin-top:14px;padding:8px 0;text-align:center;background:#76291c;color:#f6e8c8;font-size:13px;border-radius:2px;text-decoration:none;box-shadow:inset 0 0 0 1px rgba(246,232,200,.25)}
.rsp-act:hover{background:#8e3322}
.rsp-paper .rsp-codebtn{position:relative;z-index:2;box-sizing:border-box;margin-top:8px;width:100%;max-width:100%;padding:7px 6px 7px 9px;gap:6px;justify-content:space-between;border-radius:3px;background:rgba(120,85,35,.1);border-color:rgba(120,85,35,.35)}
.rsp-paper .rsp-codebtn code{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11.5px;color:var(--ink)}
.rsp-paper .rsp-codebtn span{flex-shrink:0;padding:3px 8px}
.rsp-paper .rsp-codebtn span{background:#76291c;color:#f6e8c8}
.rsp-chat{margin-top:12px;padding:8px 10px;background:rgba(20,16,12,.82);color:#f2f2f2;font-family:var(--font-mono);font-size:11px;line-height:1.6;border-radius:2px}
.rsp-chat small{display:block;color:#ffff6a;font-size:10.5px}
.rsp-chat em{font-style:normal;letter-spacing:.12em}
.rsp-chat i{display:inline-block;width:7px;height:12px;margin-left:2px;vertical-align:-2px;background:#f2f2f2;animation:rspBlink 1s steps(1) infinite}
@keyframes rspBlink{50%{opacity:0}}
.rsp-tip{margin:8px 0 0;font-size:11.5px;color:var(--ink-dim);line-height:1.6}
.rsp-warn{margin:10px 0 0;font-size:12px;line-height:1.65;color:#8e2a1a;font-weight:600}
html[data-theme=night] .rsp-warn{color:#e88a74}
.rsp-foot{position:absolute;left:22px;bottom:18px;font-size:11px;letter-spacing:.14em;color:var(--ink-dim)}
/* 关防印 + 墨点 */
.rsp-seal{position:absolute;right:20px;bottom:22px;width:58px;height:58px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#a3301d;color:#f8e9cc;font-family:var(--font-display,serif);font-size:15px;line-height:1.15;border-radius:3px;box-shadow:inset 0 0 0 2.5px rgba(248,233,204,.72),inset 0 0 10px rgba(60,0,0,.55);opacity:0;transform:rotate(-20deg) scale(2.4);transition:opacity .2s,transform .38s cubic-bezier(.2,1.7,.45,1);pointer-events:none}
.rsp-pn.is-stamped>.rsp-face .rsp-seal{opacity:.93;transform:rotate(-9deg) scale(1)}
html[data-theme=day] .rsp-seal{mix-blend-mode:multiply}
.rsp-seal--big{width:92px;height:92px;font-size:22px;right:50%;margin-right:-46px;bottom:52px}
.rsp-splash{position:absolute;right:49px;bottom:51px;width:0;height:0;pointer-events:none}
.rsp-cert .rsp-splash{right:50%;bottom:98px}
.rsp-splash i{position:absolute;left:0;top:0;border-radius:50%;background:#a3301d;opacity:0}
.rsp-pn.is-stamped>.rsp-face .rsp-splash i{animation:rspSplash .6s ease-out .12s both}
@keyframes rspSplash{0%{opacity:.9;transform:translate(0,0) scale(.4)}100%{opacity:.75;transform:translate(var(--dx),var(--dy)) scale(1)}}
/* 封面 */
.rsp-cover{background-color:var(--cover);background-image:linear-gradient(45deg,rgba(255,255,255,.05) 25%,transparent 25%,transparent 75%,rgba(255,255,255,.05) 75%),linear-gradient(45deg,rgba(255,255,255,.05) 25%,transparent 25%,transparent 75%,rgba(255,255,255,.05) 75%),radial-gradient(120% 90% at 30% 20%,rgba(255,255,255,.08),transparent 60%);background-size:16px 16px,16px 16px,auto;background-position:0 0,8px 8px,0 0;box-shadow:inset 0 0 0 1px rgba(0,0,0,.4),inset 0 0 30px rgba(0,0,0,.35)}
.rsp-brocade{position:absolute;left:0;top:0;bottom:0;width:14px;background:repeating-linear-gradient(0deg,#b8913f 0 6px,#7a5a22 6px 8px,#d8b25e 8px 12px);opacity:.8}
.rsp-slip{position:absolute;right:26px;top:28px;bottom:38%;width:54px;display:flex;flex-direction:column;align-items:center;gap:8px;padding-top:16px;background:#efe3c4;box-shadow:inset 0 0 0 3px #efe3c4,inset 0 0 0 4.5px #9c2f1d,0 3px 8px rgba(0,0,0,.35)}
.rsp-slip b{writing-mode:vertical-rl;font-family:var(--font-display,serif);font-size:26px;letter-spacing:.24em;color:#1e140a}
.rsp-slip i{writing-mode:vertical-rl;font-style:normal;font-size:12px;letter-spacing:.24em;color:#5a4428}
.rsp-minis{position:absolute;left:30px;bottom:26px;display:grid;place-items:center;width:38px;height:38px;background:#a3301d;color:#f8e9cc;font-family:var(--font-display,serif);font-size:12px;box-shadow:inset 0 0 0 2px rgba(248,233,204,.6)}
/* 凭证 */
.rsp-cert h3{margin:4px 0 0;font-family:var(--font-display,serif);font-size:22px;letter-spacing:.14em;color:var(--ink)}
.rsp-sub{margin:2px 0 12px;font-size:11px;letter-spacing:.14em;color:var(--ink-dim)}
.rsp-cert dl{display:grid;grid-template-columns:auto 1fr;gap:0;margin:0;font-size:12px}
.rsp-cert dt,.rsp-cert dd{margin:0;padding:5px 0;border-bottom:1px dashed rgba(120,85,35,.38)}
.rsp-cert dt{color:var(--ink-dim)}.rsp-cert dd{text-align:right;color:var(--ink)}
.rsp-cert a{position:relative;z-index:2;color:#8e2a1a}
html[data-theme=night] .rsp-cert a{color:#e88a74}
.rsp-ip{position:relative;z-index:2;padding:0;border:0;background:none;font-family:var(--font-mono);font-size:11.5px;color:var(--ink);cursor:copy;text-decoration:underline dotted;text-underline-offset:3px}
/* 底部 */
.rsp-done{position:absolute;left:50%;bottom:-6px;transform:translate(-50%,10px);opacity:0;pointer-events:none;transition:opacity .4s,transform .4s}
.rsp-done.is-on{opacity:1;transform:translate(-50%,0);pointer-events:auto}
.rsp-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:14px 0 16px}
.rsp-steps{display:flex;gap:4px;flex-wrap:wrap}
.rsp-step{padding:5px 11px;border:1px solid var(--line);border-radius:999px;background:transparent;color:var(--text-dim);font:inherit;font-size:12.5px;cursor:pointer;transition:all .2s}
.rsp-step.is-past{color:var(--text);border-color:var(--edge-line-strong)}
.rsp-step.is-on{color:#f6e8c8;background:#9c2f1d;border-color:#9c2f1d}
.rsp-skip{border:0;background:none;color:var(--accent);font:inherit;font-size:13px;cursor:pointer}
@media(max-width:760px){
 .rsp-pagehead{padding:12px 0 8px!important}.rsp-pagehead .crumb{display:none}.rsp-headrow{gap:10px}.rsp-headrow .h1{font-size:26px;margin:0}.rsp-headrow .lead{display:none}
 .rsp-quick{width:100%;flex-wrap:nowrap;gap:8px}.rsp-quick .btn{flex-shrink:0;padding:8px 12px;font-size:13px}.rsp-ipchip{min-width:0;flex:1;padding:6px 6px 6px 10px}.rsp-ipchip code{font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
 .rsp-view{height:calc(100svh - 64px - 230px);min-height:280px}
 .rsp-bar{padding:8px 0 10px}.rsp-steps{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}.rsp-steps::-webkit-scrollbar{display:none}.rsp-step{flex-shrink:0}
 .rsp-paper{padding:18px 16px 14px;font-size:12.5px}.rsp-h h3{font-size:18px}
 .rsp-seal{width:46px;height:46px;font-size:12px;right:14px;bottom:14px}.rsp-splash{right:37px;bottom:37px}
 .rsp-slip{bottom:18%;top:16px;width:44px}.rsp-slip b{font-size:21px}
 .rsp-seal--big{width:70px;height:70px;font-size:17px;margin-right:-35px;bottom:24px}.rsp-cert .rsp-splash{bottom:59px}
 .rsp-skip{display:none}}
@media(prefers-reduced-motion:reduce){.rsp-seal{transition:opacity .2s}.rsp-chat i{animation:none}}

/* ===== 通关文牒 · 精细化 ===== */
.rsp{--fiber:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='f'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.02 .4' numOctaves='3' seed='4' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .45 0 0 0 0 .32 0 0 0 0 .14 0 0 0 .3 -.1'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23f)'/%3E%3C/svg%3E");
 --cTL:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='26' height='26'%3E%3Cpath d='M3 23V3h20M7 23V7h16M11 15h4v-4' fill='none' stroke='%239c2f1d' stroke-opacity='.7' stroke-width='1.3'/%3E%3C/svg%3E");
 --cTR:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='26' height='26'%3E%3Cpath d='M23 23V3H3M19 23V7H3M15 15h-4v-4' fill='none' stroke='%239c2f1d' stroke-opacity='.7' stroke-width='1.3'/%3E%3C/svg%3E");
 --cBL:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='26' height='26'%3E%3Cpath d='M3 3v20h20M7 3v16h16M11 11h4v4' fill='none' stroke='%239c2f1d' stroke-opacity='.7' stroke-width='1.3'/%3E%3C/svg%3E");
 --cBR:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='26' height='26'%3E%3Cpath d='M23 3v20H3M19 3v16H3M15 11h-4v4' fill='none' stroke='%239c2f1d' stroke-opacity='.7' stroke-width='1.3'/%3E%3C/svg%3E");
 --meander:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='8'%3E%3Cpath d='M0 7.5H16M14 7.5V1H2v4.5h8V3H6' fill='none' stroke='%239c2f1d' stroke-opacity='.55' stroke-width='1'/%3E%3C/svg%3E");
 --speckle:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='90' height='90'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' seed='9' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -2.6 0 0 0 2.15'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
html[data-theme=night] .rsp{--fiber:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='f'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.012 .55' numOctaves='3' seed='4' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .22 -.08'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23f)'/%3E%3C/svg%3E")}
/* 书画毡 */
.rsp-view::before{content:"";position:absolute;left:1%;right:1%;top:3%;bottom:2%;border-radius:8px;pointer-events:none;
 background:radial-gradient(120% 90% at 50% 40%,rgba(255,255,255,.06),transparent 62%),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='f'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' seed='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .8 0 0 0 0 .82 0 0 0 0 .78 0 0 0 .16 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23f)'/%3E%3C/svg%3E"),#2b302c;background-size:auto,160px 160px,auto;
 box-shadow:inset 0 0 0 1px rgba(0,0,0,.4),inset 0 0 40px rgba(0,0,0,.45),0 18px 40px -18px rgba(30,18,6,.55)}
.rsp-view::after{content:"";position:absolute;left:calc(1% + 9px);right:calc(1% + 9px);top:calc(3% + 9px);bottom:calc(2% + 9px);border:1px dashed rgba(220,210,180,.18);border-radius:5px;pointer-events:none}
html[data-theme=night] .rsp-view::before{background:radial-gradient(120% 90% at 50% 40%,rgba(255,255,255,.035),transparent 60%),#101012;box-shadow:inset 0 0 0 1px rgba(255,255,255,.05),inset 0 0 40px rgba(0,0,0,.6)}
.rsp-ground{display:none}
.rsp--v .rsp-view::before,.rsp--v .rsp-view::after{display:none}
/* 纸：纤维 + 洒金 + 四角回纹 */
.rsp-paper{background-image:var(--fiber),radial-gradient(var(--fleck) .8px,transparent 1.3px),radial-gradient(var(--fleck) .6px,transparent 1px),linear-gradient(90deg,rgba(120,80,30,.14),transparent 7%,transparent 93%,rgba(120,80,30,.1));background-size:220px 220px,53px 61px,37px 29px,auto}
.rsp-paper::after{background:var(--cTL) 12px 12px no-repeat,var(--cTR) calc(100% - 12px) 12px no-repeat,var(--cBL) 12px calc(100% - 12px) no-repeat,var(--cBR) calc(100% - 12px) calc(100% - 12px) no-repeat,radial-gradient(120% 90% at 50% 40%,transparent 58%,rgba(110,70,20,.16))}
.rsp-paper .rsp-band{height:8px;margin:-4px 0 12px;background:var(--meander) 0 0/16px 8px repeat-x;opacity:.9}
.rsp-h{position:relative}
.rsp-h{gap:6px!important}.rsp-h h3{white-space:nowrap;font-size:19px!important}
.rsp-ico{margin-left:auto;flex-shrink:0;width:26px;height:26px;fill:none;stroke:var(--ink);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;opacity:.55}
/* 掠光 */
.rsp-sheen{position:absolute;inset:0;pointer-events:none;opacity:0;background:linear-gradient(100deg,transparent 30%,rgba(255,250,232,.42) 48%,transparent 64%);background-size:260% 100%;mix-blend-mode:soft-light}
/* 盖印：斑驳印泥 + 一圈墨晕 + 落印一顿 */
.rsp-seal{-webkit-mask:var(--speckle) 0 0/90px 90px;mask:var(--speckle) 0 0/90px 90px;font-weight:600;letter-spacing:.06em}
.rsp-seal::after{content:"";position:absolute;inset:-6px;border:2px solid rgba(163,48,29,.55);border-radius:6px;opacity:0}
.rsp-pn.is-stamped>.rsp-face .rsp-seal::after{animation:rspRing .7s ease-out .1s both}
@keyframes rspRing{0%{opacity:.7;transform:scale(.9)}100%{opacity:0;transform:scale(1.5)}}
.rsp-pn.is-thud>.rsp-face{animation:rspThud .34s ease-out}
@keyframes rspThud{0%{transform:translateZ(0)}35%{transform:translateZ(-6px) scale(.992)}100%{transform:translateZ(0)}}
/* 骑缝章：伍与凭证之间各留半枚 */
.rsp-seam{position:absolute;top:44%;width:44px;height:44px;display:grid;place-items:center;background:#a3301d;color:#f8e9cc;font-family:var(--font-display,serif);font-size:12px;writing-mode:vertical-rl;letter-spacing:.1em;box-shadow:inset 0 0 0 2px rgba(248,233,204,.7);opacity:0;transform:scale(1.6);transition:opacity .3s,transform .45s cubic-bezier(.2,1.6,.4,1);-webkit-mask:var(--speckle) 0 0/90px 90px;mask:var(--speckle) 0 0/90px 90px;pointer-events:none}
.rsp-seam--l{right:-22px}
.rsp-seam--r{left:-22px}
.rsp.is-seam .rsp-seam{opacity:.9;transform:scale(1)}
/* 凭证落款 */
.rsp-sign{position:absolute;left:22px;bottom:40px;margin:0;font-size:11px;color:var(--ink-dim);letter-spacing:.1em}
.rsp-sign b{font-family:var(--font-display,serif);font-size:15px;color:var(--ink);font-weight:600;letter-spacing:.14em}
/* 封面：铜包角、题签加小字、书签丝带 */
.rsp-cover{background-image:linear-gradient(45deg,rgba(255,255,255,.05) 25%,transparent 25%,transparent 75%,rgba(255,255,255,.05) 75%),linear-gradient(45deg,rgba(255,255,255,.05) 25%,transparent 25%,transparent 75%,rgba(255,255,255,.05) 75%),var(--fiber),radial-gradient(120% 90% at 30% 20%,rgba(255,255,255,.1),transparent 60%)!important;background-size:16px 16px,16px 16px,220px 220px,auto!important}
.rsp-corner{position:absolute;right:0;width:26px;height:26px;background:linear-gradient(135deg,#f0d38a,#a87b2c 55%,#6b4a14);box-shadow:inset 0 0 0 1px rgba(255,240,200,.35)}
.rsp-corner--t{top:0;clip-path:polygon(0 0,100% 0,100% 100%)}
.rsp-corner--b{bottom:0;clip-path:polygon(100% 0,100% 100%,0 100%)}
.rsp-slip{box-shadow:inset 0 0 0 3px #efe3c4,inset 0 0 0 4.5px #9c2f1d,inset 0 0 0 6px #efe3c4,inset 0 0 0 6.6px rgba(156,47,29,.5),0 4px 10px rgba(0,0,0,.4)!important;background:#efe3c4 var(--fiber)!important;background-size:220px 220px!important}
.rsp-slip{bottom:22%!important;width:56px!important;padding-top:20px!important}
.rsp-slip small{position:absolute;left:5px;top:12px;writing-mode:vertical-rl;font-size:9.5px;letter-spacing:.25em;color:#9c2f1d}
.rsp-slip b{white-space:nowrap}.rsp-slip i{white-space:nowrap}
.rsp-ribbon{position:absolute;left:34px;top:100%;width:12px;height:56px;z-index:-1;pointer-events:none;background:linear-gradient(90deg,#7e1f15,#b8402a 45%,#7e1f15);clip-path:polygon(0 0,100% 0,100% 100%,50% 86%,0 100%);box-shadow:0 4px 6px rgba(0,0,0,.3);transform-origin:50% 0;animation:rspSway 4.5s ease-in-out infinite}
.rsp-ribbon i{position:absolute;left:-3px;top:-4px;width:18px;height:8px;border-radius:50%;background:#9c2f1d}
.rsp--v .rsp-ribbon{display:none}
@keyframes rspSway{0%,100%{transform:rotate(-3deg)}50%{transform:rotate(4deg)}}
/* 夜间 */
html[data-theme=night] .rsp-ico{stroke:#d9d8d2}
html[data-theme=night] .rsp-sheen{background:linear-gradient(100deg,transparent 30%,rgba(255,255,255,.12) 48%,transparent 64%);background-size:260% 100%}
@media(max-width:760px){.rsp-ico{width:28px;height:28px}.rsp-seam{width:36px;height:36px;font-size:10px}.rsp-seam--l{right:-18px}.rsp-seam--r{left:-18px}.rsp-sign{bottom:30px}.rsp--v .rsp-seam{top:auto;bottom:-18px;left:50%;right:auto;margin-left:-18px;writing-mode:horizontal-tb}.rsp--v .rsp-seam--r{top:-18px;bottom:auto}}
@media(prefers-reduced-motion:reduce){.rsp-ribbon{animation:none}.rsp-pn.is-thud>.rsp-face{animation:none}}

/* 凭证排版：行距收紧，大印移到右下，落款在左下 */
.rsp-cert dt,.rsp-cert dd{padding:3.5px 0!important;font-size:11.5px}
.rsp-cert .rsp-sub{margin-bottom:8px!important}
.rsp-cert .rsp-foot{display:none}
.rsp-cert .rsp-sign{bottom:22px;left:22px}
.rsp-seal--big{right:20px!important;margin-right:0!important;bottom:20px!important;width:76px!important;height:76px!important;font-size:18px!important}
.rsp-cert .rsp-splash{right:58px!important;bottom:58px!important}
.rsp--v .rsp-seal--big{top:18px!important;bottom:auto!important;width:58px!important;height:58px!important;font-size:14px!important}
.rsp--v .rsp-cert .rsp-splash{top:47px!important;bottom:auto!important;right:47px!important}
/* ===== 材质升级：宣纸与锦缎（贴图由 rspTex 生成，挂在 --paper-tex / --cover-tex） ===== */
.rsp-paper{background-color:var(--paper)!important;background-image:linear-gradient(180deg,rgba(120,80,30,.13),transparent 7%,transparent 92%,rgba(120,80,30,.16)),linear-gradient(90deg,rgba(120,80,30,.12),transparent 6%,transparent 94%,rgba(120,80,30,.09)),var(--paper-tex,none)!important;background-size:auto,auto,384px 384px!important;background-position:0 0,0 0,var(--px,0) 0!important}
html[data-theme=night] .rsp-paper{background-image:linear-gradient(180deg,rgba(0,0,0,.25),transparent 7%,transparent 92%,rgba(0,0,0,.3)),linear-gradient(90deg,rgba(0,0,0,.25),transparent 6%,transparent 94%,rgba(0,0,0,.2)),var(--paper-tex,none)!important}
.rsp-pn:nth-child(odd)>.rsp-paper{--px:-130px}
.rsp-back{background:linear-gradient(rgba(120,85,35,.12),rgba(120,85,35,.12)),var(--paper-tex,var(--paper-2)) 0 0/384px 384px!important}
html[data-theme=night] .rsp-back{background:linear-gradient(rgba(0,0,0,.3),rgba(0,0,0,.3)),var(--paper-tex,var(--paper-2)) 0 0/384px 384px!important}
.rsp-cover{background:linear-gradient(115deg,rgba(255,255,255,.07),transparent 38%,transparent 62%,rgba(255,255,255,.04)),radial-gradient(120% 90% at 35% 25%,rgba(255,255,255,.08),transparent 60%),radial-gradient(140% 110% at 60% 60%,transparent 55%,rgba(0,0,0,.35)),var(--cover-tex,none) 0 0/192px 192px,var(--cover)!important;box-shadow:inset 0 0 0 1px rgba(0,0,0,.45),inset -2px 0 0 rgba(255,255,255,.06),inset 0 0 26px rgba(0,0,0,.4)!important}
.rsp-brocade{display:none}
/* 线装：书脊一列四眼，丝线绕脊 */
.rsp-bind{position:absolute;left:0;top:0;bottom:0;width:24px;background:linear-gradient(90deg,rgba(0,0,0,.35),rgba(0,0,0,.12) 70%,rgba(255,255,255,.06) 92%,rgba(0,0,0,.25));box-shadow:1px 0 0 rgba(0,0,0,.35)}
.rsp-bind::before{content:"";position:absolute;left:2px;top:12%;bottom:12%;width:2px;background:#e9dcbd;box-shadow:0 0 0 .5px rgba(0,0,0,.25),1px 0 1px rgba(0,0,0,.3)}
.rsp-bind i{position:absolute;left:2px;width:14px;height:2px;background:#e9dcbd;box-shadow:0 1px 1px rgba(0,0,0,.35)}
.rsp-bind i::after{content:"";position:absolute;right:-3px;top:-2px;width:5px;height:5px;border-radius:50%;background:#0c0f1a;box-shadow:inset 0 1px 1px rgba(0,0,0,.6),0 0 0 1px rgba(233,220,189,.5)}
.rsp-bind i:nth-child(1){top:12%}.rsp-bind i:nth-child(2){top:37%}.rsp-bind i:nth-child(3){top:63%}.rsp-bind i:nth-child(4){top:88%}
html[data-theme=night] .rsp-bind::before,html[data-theme=night] .rsp-bind i{background:#b9b3a3}
/* 烫金双线框 + 回纹角 */
.rsp-frame{position:absolute;left:32px;right:12px;top:12px;bottom:12px;border:1px solid rgba(222,186,104,.55);outline:1px solid rgba(222,186,104,.3);outline-offset:-5px;pointer-events:none;
 background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22'%3E%3Cpath d='M2 20V2h18M6 20V6h14M10 13h3v-3' fill='none' stroke='%23deba68' stroke-opacity='.75' stroke-width='1.2'/%3E%3C/svg%3E") 4px 4px no-repeat,url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22'%3E%3Cpath d='M2 20V2h18M6 20V6h14M10 13h3v-3' fill='none' stroke='%23deba68' stroke-opacity='.75' stroke-width='1.2'/%3E%3C/svg%3E") calc(100% - 4px) 4px no-repeat,url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22'%3E%3Cpath d='M2 20V2h18M6 20V6h14M10 13h3v-3' fill='none' stroke='%23deba68' stroke-opacity='.75' stroke-width='1.2'/%3E%3C/svg%3E") 4px calc(100% - 4px) no-repeat,url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22'%3E%3Cpath d='M2 20V2h18M6 20V6h14M10 13h3v-3' fill='none' stroke='%23deba68' stroke-opacity='.75' stroke-width='1.2'/%3E%3C/svg%3E") calc(100% - 4px) calc(100% - 4px) no-repeat}
html[data-theme=night] .rsp-frame{border-color:rgba(200,190,170,.35);outline-color:rgba(200,190,170,.18)}
/* 题签 */
.rsp-slip{right:24px!important;top:26px!important;bottom:26%!important;width:56px!important;background:#efe3c4 var(--paper-tex,none)!important;background-size:384px 384px!important}
html[data-theme=night] .rsp-slip{background:#e2d6b8!important}
.rsp-slip b{font-size:27px!important;text-shadow:0 1px 0 rgba(255,255,255,.4)}
/* 烫金徽章 */
.rsp-medal{position:absolute;left:52px;bottom:58px;width:62px;height:62px;border-radius:50%;display:grid;place-items:center;
 background:radial-gradient(circle at 35% 30%,rgba(255,240,200,.18),transparent 60%),rgba(0,0,0,.18);box-shadow:0 0 0 1.5px rgba(222,186,104,.75),0 0 0 4px rgba(0,0,0,.15),0 0 0 5px rgba(222,186,104,.4),inset 0 1px 3px rgba(0,0,0,.5)}
.rsp-medal b{font-family:var(--font-display,serif);font-size:32px;line-height:1;background:linear-gradient(160deg,#f6dc94,#c3953f 48%,#8c6420 70%,#e9c977);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 1px 0 rgba(0,0,0,.6))}
html[data-theme=night] .rsp-medal b{background:linear-gradient(160deg,#ece7da,#a9a397 55%,#e5e0d2);-webkit-background-clip:text;background-clip:text}
.rsp-minis{left:auto!important;right:34px!important;bottom:26px!important;width:32px!important;height:32px!important;font-size:11px!important}
@media(max-width:760px){.rsp-slip{bottom:14%!important;top:18px!important;width:46px!important}.rsp-slip b{font-size:21px!important}.rsp-medal{width:48px;height:48px;left:44px;bottom:34px}.rsp-medal b{font-size:24px}.rsp-frame{left:30px}}
/* 书画毡改为跟随文书大小的独立元素（原 ::before/::after 停用）；去掉徽章 */
.rsp-view::before,.rsp-view::after{display:none!important}
.rsp-felt{position:absolute;left:0;top:0;width:0;height:0;border-radius:8px;pointer-events:none;
 background:radial-gradient(120% 90% at 50% 40%,rgba(255,255,255,.06),transparent 62%),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='f'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' seed='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .8 0 0 0 0 .82 0 0 0 0 .78 0 0 0 .16 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23f)'/%3E%3C/svg%3E"),#2b302c;background-size:auto,160px 160px,auto;
 box-shadow:inset 0 0 0 1px rgba(0,0,0,.4),inset 0 0 40px rgba(0,0,0,.45),0 18px 40px -18px rgba(30,18,6,.55);}
.rsp-felt::after{content:"";position:absolute;inset:9px;border:1px dashed rgba(220,210,180,.18);border-radius:5px}
html[data-theme=night] .rsp-felt{background:radial-gradient(120% 90% at 50% 40%,rgba(255,255,255,.035),transparent 60%),#101012;box-shadow:inset 0 0 0 1px rgba(255,255,255,.05),inset 0 0 40px rgba(0,0,0,.6)}
.rsp--v .rsp-felt{display:none}
.rsp-medal{display:none}
/* 首页第一屏「服务器规则」「服务器玩法」按钮 */
.hr-jump{display:flex;flex-wrap:wrap;gap:12px;margin:2px 0 22px;pointer-events:auto}
.hr-jump .btn{min-width:124px;letter-spacing:.08em}
@media (max-width:780px){.hr-jump .btn{flex:1;min-width:0}}
/* 玩法文档「服务器规则」（/docs/rules，正文容器带 prose--rules）：手机上表格逐条竖排，类别在上、内容在下 */
@media (max-width:780px){
 .prose--rules table,.prose--rules tbody,.prose--rules tr,.prose--rules th,.prose--rules td{display:block;width:auto}
 .prose--rules table{border:0}
 .prose--rules thead{display:none}
 .prose--rules tbody tr{padding:14px 0;border-bottom:1px solid var(--line);background:none}
 .prose--rules tbody td{padding:0;border:0}
 .prose--rules tbody td:first-child{margin-bottom:6px;color:var(--accent);font-size:16px}
}
