/* ═══════════════════════════════════════════════════
   ▓▓▓ 帝都·绯樱绮谭 · 粉白大正全息CSS · v2.0 修复版 ▓▓▓
   ═══════════════════════════════════════════════════ */

/* ━━━━━━━━━━ 0. 动画关键帧总库（语法已校对） ━━━━━━━━━━ */
@keyframes hz-petal-fall{0%{transform:translateY(-30px) rotate(0deg) translateX(0);opacity:0}10%{opacity:.9}100%{transform:translateY(110vh) rotate(720deg) translateX(40px);opacity:0}}
@keyframes hz-petal-fall-2{0%{transform:translateY(-30px) rotate(0deg) translateX(0);opacity:0}10%{opacity:.7}100%{transform:translateY(110vh) rotate(-540deg) translateX(-30px);opacity:0}}
@keyframes hz-bloom-pulse{0%,100%{box-shadow:0 0 6px #ff8eb0,inset 0 0 10px #ffd6e3;text-shadow:0 0 4px #ff8eb0}50%{box-shadow:0 0 22px #ff4f7e,inset 0 0 18px #ffe5ee;text-shadow:0 0 12px #ff4f7e,0 0 20px #ffb6cc}}
@keyframes hz-slash-sweep{0%{transform:translateX(-120%) skewX(-25deg);opacity:0}30%{opacity:1}100%{transform:translateX(260%) skewX(-25deg);opacity:0}}
@keyframes hz-heartbeat{0%,30%,60%,100%{transform:scale(1);text-shadow:0 0 4px #e85a7a}15%{transform:scale(1.07);text-shadow:0 0 14px #ff3b6b,0 0 24px #ffc4d4}45%{transform:scale(1.04);text-shadow:0 0 10px #ff3b6b}}
@keyframes hz-corrupt-shake{0%,100%{transform:translate(0,0) skewX(0)}20%{transform:translate(-1px,1px) skewX(-2deg)}40%{transform:translate(1.5px,-1px) skewX(2deg)}60%{transform:translate(-1.5px,-1px) skewX(-1deg)}80%{transform:translate(1px,1.5px) skewX(1deg)}}
@keyframes hz-corrupt-flicker{0%,100%{filter:hue-rotate(0deg) saturate(1.4)}50%{filter:hue-rotate(-25deg) saturate(2)}}
@keyframes hz-prophecy-breath{0%,100%{filter:drop-shadow(0 0 4px #d4af37) drop-shadow(0 0 6px #b07aff);letter-spacing:.04em}50%{filter:drop-shadow(0 0 14px #ffd76b) drop-shadow(0 0 24px #c89bff);letter-spacing:.14em}}
@keyframes hz-fade-die{0%{opacity:1;filter:none}100%{opacity:.45;filter:grayscale(.75) blur(.3px)}}
@keyframes hz-climax-pulse{0%,100%{box-shadow:inset 0 0 40px rgba(232,90,122,.25),0 0 30px rgba(232,90,122,.4)}50%{box-shadow:inset 0 0 80px rgba(201,29,58,.5),0 0 50px rgba(255,79,126,.7)}}
@keyframes hz-bg-drift{0%{background-position:0 0,0 0}100%{background-position:300px 300px,-200px 200px}}
@keyframes hz-shimmer{0%{background-position:-200% 0}100%{background-position:200% 0}}
@keyframes hz-pop-in{0%{transform:scale(.85) translateY(8px);opacity:0}100%{transform:scale(1) translateY(0);opacity:1}}
@keyframes hz-glow-rotate{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}
@keyframes hz-bar-fill{0%{width:0}}
@keyframes hz-stage-blossom{0%,100%{transform:scale(1);box-shadow:0 0 4px #ff8eb0}50%{transform:scale(1.15);box-shadow:0 0 12px #ff4f7e}}
@keyframes hz-chip-rise{0%{opacity:0;transform:translateY(6px)}100%{opacity:1;transform:translateY(0)}}
@keyframes hz-petal-drift{0%{transform:translateY(-20px) translateX(0) rotate(0)}100%{transform:translateY(120vh) translateX(60px) rotate(720deg)}}
@keyframes hz-aura-rotate{0%{background-position:0 0}100%{background-position:200% 0}}
@keyframes hz-ribbon-scroll{0%{background-position:0 0}100%{background-position:60px 0}}

/* ━━━━━━━━━━ 1. 平台层·有机会命中的部分（不强求） ━━━━━━━━━━ */
/* 滚动条美化（Webkit内核大概率生效） */
::-webkit-scrollbar{width:9px;height:9px}
::-webkit-scrollbar-track{background:#fff5f8;border-radius:5px}
::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#ff8eb0,#e85a7a);border-radius:5px;border:1px solid #fff5f8;box-shadow:inset 0 0 4px rgba(232,90,122,.3)}
::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#e85a7a,#c91d3a)}
::selection{background:rgba(232,90,122,.4);color:#fff}

/* ━━━━━━━━━━ 2. 主容器 hzk + 樱瓣雨背景 ━━━━━━━━━━ */
hzk{
  display:block;font-family:"楷体","KaiTi","Noto Serif JP","Yu Mincho",serif;
  color:#3a2530;line-height:1.85;
  position:relative;padding:14px;
  background:
    radial-gradient(ellipse at 18% 8%,rgba(255,143,180,.18) 0,transparent 32%),
    radial-gradient(ellipse at 82% 92%,rgba(212,175,55,.1) 0,transparent 35%),
    linear-gradient(180deg,#fffafc 0%,#fff0f5 50%,#ffe4ec 100%);
  border:1px solid rgba(232,90,122,.35);border-radius:16px;
  box-shadow:0 4px 24px rgba(232,90,122,.18),inset 0 0 0 1px #fff;
  overflow:hidden;
}
hzk::before{
  content:"❀ 帝 都 · 緋 桜 綺 譚 ❀";
  display:block;text-align:center;letter-spacing:.6em;font-weight:700;font-size:13px;
  color:#9b1a3a;text-shadow:0 1px 0 #fff,0 0 6px rgba(232,90,122,.25);
  padding:6px 0 10px;border-bottom:1px dashed rgba(232,90,122,.3);margin-bottom:12px;
  position:relative;z-index:2;
}
hzk::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background-image:
    radial-gradient(circle at 10% 20%,#ff8eb0 1px,transparent 2px),
    radial-gradient(circle at 30% 70%,#ffb6cc 1px,transparent 2px),
    radial-gradient(circle at 70% 30%,#ff8eb0 1px,transparent 2px),
    radial-gradient(circle at 85% 85%,#ffd0dc 1px,transparent 2px);
  background-size:240px 240px,180px 180px,300px 300px,220px 220px;
  opacity:.35;animation:hz-bg-drift 60s linear infinite;
  z-index:0;
}
hzk > *{position:relative;z-index:1}

timeline{display:none !important}

/* ━━━━━━━━━━ 3. summary / details 折叠通用样式 ━━━━━━━━━━ */
hzk details{
  background:linear-gradient(180deg,#fff8fb,#fff0f5);
  border:1px solid rgba(232,90,122,.3);border-left:4px solid #e85a7a;
  border-radius:10px;margin:10px 0;padding:0;overflow:hidden;
  box-shadow:0 2px 8px rgba(232,90,122,.12);
  animation:hz-pop-in .5s ease both;
}
hzk details summary{
  padding:8px 14px;cursor:pointer;font-weight:700;color:#9b1a3a;
  letter-spacing:.12em;font-size:14px;
  background:linear-gradient(90deg,rgba(255,143,180,.18),transparent);
  border-bottom:1px dashed rgba(232,90,122,.25);
  list-style:none;position:relative;user-select:none;
  transition:all .3s ease;
}
hzk details summary::-webkit-details-marker{display:none}
hzk details summary::before{
  content:"❀";display:inline-block;margin-right:8px;color:#e85a7a;
  transition:transform .35s ease;
}
hzk details[open] summary::before{transform:rotate(180deg) scale(1.15);color:#c91d3a}
hzk details summary:hover{
  background:linear-gradient(90deg,rgba(255,79,126,.28),rgba(255,143,180,.1));
  color:#c91d3a;
}
hzk details > div,hzk details > p,hzk details > pre{padding:10px 14px}

/* ━━━━━━━━━━ 4. 場景情景 ━━━━━━━━━━ */
.hizakura-scene{
  font-family:"楷体",serif;font-size:13px;line-height:1.9;color:#3a2530;
  background:
    repeating-linear-gradient(180deg,transparent 0,transparent 28px,rgba(232,90,122,.06) 28px,rgba(232,90,122,.06) 29px),
    linear-gradient(180deg,#fffdfd,#fff5f8);
  padding:12px 14px !important;border-radius:6px;
}
.hizakura-scene::before{content:"━━ 情 景 録 ━━";display:block;text-align:center;color:#9b1a3a;letter-spacing:.6em;font-weight:700;margin-bottom:8px;font-size:12px}

/* ━━━━━━━━━━ 5. 京洛絵図 ━━━━━━━━━━ */
.banner-map-block{border-left-color:#d4af37 !important}
.banner-map-head{
  background:linear-gradient(90deg,#3a2530,#9b1a3a 50%,#3a2530) !important;
  color:#ffd76b !important;text-align:center;letter-spacing:.8em !important;
  text-shadow:0 0 6px #d4af37,0 1px 0 #000 !important;
}
.banner-map-meta{padding:8px 14px;color:#9b1a3a;font-size:12px;background:rgba(255,232,237,.5);border-bottom:1px dashed rgba(232,90,122,.3)}
.banner-map-meta::before{content:"⛩ ";color:#d4af37}
.banner-map{
  display:block;padding:12px;margin:0;
  background:linear-gradient(180deg,#fffaf2,#fff5f8);
  color:#3a2530;font-family:"Courier New",monospace;font-size:12.5px;line-height:1.5;
  border-top:1px solid rgba(232,90,122,.2);border-bottom:1px solid rgba(232,90,122,.2);
  white-space:pre;overflow-x:auto;
}
.banner-map-legend{padding:6px 14px;font-size:11px;color:#7a4a5a;background:rgba(255,224,232,.4);text-align:center;letter-spacing:.1em}
.banner-map-notes{padding:8px 14px;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:6px}
.banner-map-notes .map-note{margin:0;border:1px solid rgba(232,90,122,.25);border-left:3px solid #ff8eb0;border-radius:6px;background:#fffafc;animation:hz-pop-in .5s ease both}
.banner-map-notes .map-note summary{padding:6px 10px;font-size:12px;letter-spacing:.05em}
.banner-map-notes .note-body{padding:6px 10px;font-size:12px;line-height:1.7;color:#3a2530;background:#fff5f8;border-top:1px dashed rgba(232,90,122,.2)}
.banner-map-notes .warn{color:#c91d3a;font-weight:700;text-shadow:0 0 4px rgba(232,90,122,.4)}
.banner-map-footer{padding:8px 14px;font-size:11px;color:#9b1a3a;text-align:center;font-style:italic;background:rgba(255,224,232,.3)}

/* ━━━━━━━━━━ 6. 正文叙事 ━━━━━━━━━━ */
.hizakura-story{
  background:
    radial-gradient(circle at 5% 5%,rgba(255,143,180,.08) 0,transparent 20%),
    linear-gradient(180deg,#fffdfd,#fff8fb);
  padding:18px 22px;border-radius:10px;
  border:1px solid rgba(232,90,122,.25);
  box-shadow:inset 0 1px 0 #fff,0 2px 12px rgba(232,90,122,.1);
  margin:14px 0;font-family:"Noto Serif SC","SimSun",serif;
  font-size:15px;line-height:2.05;color:#3a2530;
  text-align:justify;letter-spacing:.02em;position:relative;
}
.hizakura-story::before{content:"";position:absolute;top:8px;left:8px;right:8px;bottom:8px;border:1px solid rgba(232,90,122,.18);border-radius:6px;pointer-events:none}
.hizakura-story p{margin:0 0 10px 0;text-indent:2em;position:relative;z-index:1}
.hizakura-story p.dlg{
  text-indent:0;padding:6px 14px;margin:8px 14px;
  background:linear-gradient(90deg,rgba(255,224,232,.6),rgba(255,224,232,.2));
  border-left:3px solid #e85a7a;border-radius:0 8px 8px 0;
  font-style:normal;font-weight:600;color:#9b1a3a;
}
.hizakura-story p.mono{
  text-indent:0;padding:4px 16px;margin:6px 24px;
  font-style:italic;color:#7a4a8c;font-size:14px;
  border-left:2px dashed rgba(122,74,140,.5);
  background:linear-gradient(90deg,rgba(232,210,255,.18),transparent);
}

/* ━━━━━━━━━━ 7. 主角/NPC 卡 ━━━━━━━━━━ */
.hizakura-card{
  background:
    linear-gradient(135deg,rgba(255,255,255,.7),rgba(255,240,245,.85)),
    repeating-linear-gradient(45deg,transparent 0,transparent 12px,rgba(232,90,122,.04) 12px,rgba(232,90,122,.04) 13px);
  border:1px solid rgba(232,90,122,.35);border-radius:12px;
  padding:12px 14px;margin:8px 0;
  box-shadow:0 3px 14px rgba(232,90,122,.15),inset 0 1px 0 #fff;
  position:relative;
}
.hizakura-card::before{
  content:"";position:absolute;top:0;left:0;right:0;height:3px;
  background:linear-gradient(90deg,#ff8eb0,#e85a7a,#d4af37,#e85a7a,#ff8eb0);
  background-size:200% 100%;animation:hz-shimmer 5s linear infinite;
  border-radius:12px 12px 0 0;
}

.hizakura-name,.hz-titlebar{
  font-size:18px;font-weight:800;color:#9b1a3a;
  text-shadow:0 1px 0 #fff,0 0 8px rgba(232,90,122,.3);
  padding:4px 0 6px;border-bottom:1px dashed rgba(232,90,122,.3);margin-bottom:8px;
  letter-spacing:.08em;
}
.hz-name-main{font-size:20px;color:#c91d3a}
.hz-name-sub{font-size:14px;color:#7a4a5a;font-style:italic;margin-left:8px}

.hizakura-sub{
  font-size:12px;font-weight:700;letter-spacing:.4em;color:#9b1a3a;
  margin:10px 0 4px;
  border-left:3px solid #e85a7a;
  background:linear-gradient(90deg,rgba(255,143,180,.2),transparent);
  padding:2px 0 2px 10px;
}

/* chips */
.hz-chips{display:flex;flex-wrap:wrap;gap:5px;margin:6px 0}
.hz-chip{
  display:inline-block;padding:2px 10px;font-size:11px;letter-spacing:.05em;
  border-radius:12px;background:linear-gradient(135deg,#fff,#ffe4ec);
  color:#9b1a3a;border:1px solid rgba(232,90,122,.4);
  box-shadow:0 1px 3px rgba(232,90,122,.15);
  animation:hz-chip-rise .5s ease both;
}
.hz-chip.age{background:linear-gradient(135deg,#fff,#fff5d4);border-color:#d4af37;color:#7a5a1a}
.hz-chip.sex{background:linear-gradient(135deg,#fff,#ffd6e3);color:#c91d3a}
.hz-chip.origin{background:linear-gradient(135deg,#fff,#e8d6ff);color:#5a3a8c;border-color:#a07ad4}
.hz-chip.belong{background:linear-gradient(135deg,#fff,#d6f0ff);color:#1a5a9b;border-color:#7aa0d4}
.hz-chip.rank{background:linear-gradient(135deg,#fffdf0,#ffe4a6);color:#7a4a1a;border-color:#d4af37;font-weight:700}
.hz-chip.school{background:linear-gradient(135deg,#fff,#ffc9d6);color:#9b1a3a}
.hz-chip.race{background:linear-gradient(135deg,#fff,#f0e0ff);color:#5a3a8c}

/* 表/裏 */
.hz-persona{display:flex;gap:8px;margin:6px 0;flex-wrap:wrap}
.hz-face{flex:1;min-width:120px;padding:5px 10px;border-radius:8px;font-size:12px}
.hz-face.omote{background:linear-gradient(135deg,#fff5f8,#ffe4ec);border:1px solid #ff8eb0;color:#9b1a3a}
.hz-face.ura{background:linear-gradient(135deg,#3a2530,#2a1a20);border:1px solid #5a3a4a;color:#ffb6cc}

.hz-bio{font-size:13px;color:#5a3a4a;font-style:italic;padding:4px 0;line-height:1.7}
.hz-know{font-size:12px;color:#3a2530;line-height:1.7;margin:4px 0}
.hz-know b{color:#9b1a3a;background:rgba(255,224,232,.6);padding:0 4px;border-radius:3px}

/* 灵纹 + 阶位 */
.hz-mon{display:flex;flex-wrap:wrap;gap:6px;margin:4px 0}
.hz-mon-shape,.hz-mon-pos,.hz-mon-attr,.hz-mon-school{
  padding:2px 10px;font-size:11px;border-radius:10px;
  background:linear-gradient(135deg,#fff5f8,#ffd0dc);
  color:#9b1a3a;border:1px solid rgba(232,90,122,.4);
}
.hz-mon-shape{background:linear-gradient(135deg,#fffdf0,#ffe4a6);color:#7a5a1a;border-color:#d4af37}
.hz-mon-attr{background:linear-gradient(135deg,#e0d6ff,#c89bff);color:#3a1a6c;border-color:#a07ad4}

.hz-stage{display:grid;grid-template-columns:repeat(7,1fr);gap:3px;margin:6px 0;padding:4px;background:rgba(255,224,232,.4);border-radius:8px}
.hz-stage-cell{
  text-align:center;padding:4px 0;font-size:11px;font-weight:700;
  border-radius:5px;background:#fff;color:#a07a85;border:1px solid #ffd0dc;
  transition:all .3s ease;
}
.hz-stage[data-stage="1"] .s1,
.hz-stage[data-stage="2"] .s1,.hz-stage[data-stage="2"] .s2,
.hz-stage[data-stage="3"] .s1,.hz-stage[data-stage="3"] .s2,.hz-stage[data-stage="3"] .s3,
.hz-stage[data-stage="4"] .s1,.hz-stage[data-stage="4"] .s2,.hz-stage[data-stage="4"] .s3,.hz-stage[data-stage="4"] .s4,
.hz-stage[data-stage="5"] .s1,.hz-stage[data-stage="5"] .s2,.hz-stage[data-stage="5"] .s3,.hz-stage[data-stage="5"] .s4,.hz-stage[data-stage="5"] .s5,
.hz-stage[data-stage="6"] .s1,.hz-stage[data-stage="6"] .s2,.hz-stage[data-stage="6"] .s3,.hz-stage[data-stage="6"] .s4,.hz-stage[data-stage="6"] .s5,.hz-stage[data-stage="6"] .s6,
.hz-stage[data-stage="7"] .s1,.hz-stage[data-stage="7"] .s2,.hz-stage[data-stage="7"] .s3,.hz-stage[data-stage="7"] .s4,.hz-stage[data-stage="7"] .s5,.hz-stage[data-stage="7"] .s6,.hz-stage[data-stage="7"] .s7{
  background:linear-gradient(135deg,#ff8eb0,#e85a7a);color:#fff;border-color:#c91d3a;
  box-shadow:0 2px 6px rgba(232,90,122,.4);
}
.hz-stage[data-stage="1"] .s1,.hz-stage[data-stage="2"] .s2,.hz-stage[data-stage="3"] .s3,
.hz-stage[data-stage="4"] .s4,.hz-stage[data-stage="5"] .s5,.hz-stage[data-stage="6"] .s6,.hz-stage[data-stage="7"] .s7{
  background:linear-gradient(135deg,#ffd76b,#e85a7a) !important;
  animation:hz-stage-blossom 1.8s ease-in-out infinite;
}
.hz-stage[data-stage="7"] .s7{background:linear-gradient(135deg,#fff,#ffd76b,#c89bff) !important}

.hz-mon-src{font-size:12px;color:#5a3a4a;margin:4px 0}
.hz-backlash{color:#c91d3a;font-weight:700;background:rgba(232,90,122,.15);padding:0 6px;border-radius:4px}

/* HP/MP */
.hz-bar-block{margin:6px 0}
.hz-bar-row{display:flex;justify-content:space-between;font-size:11px;color:#5a3a4a;margin-top:4px}
.hz-bar-row.warn{color:#c91d3a}
.hz-bar-label{font-weight:700;letter-spacing:.05em}
.hz-bar-num{font-family:"Courier New",monospace}
.hz-bar-num i{color:#a07a85;font-style:normal;margin:0 2px}
.hz-bar-track{
  height:9px;background:linear-gradient(180deg,#f0d6d,#ffe4ec);
  border:1px solid rgba(232,90,122,.35);border-radius:5px;
  overflow:hidden;position:relative;
  box-shadow:inset 0 1px 3px rgba(0,0,0,.15);
}
.hz-bar-fill{
  height:100%;border-radius:4px;position:relative;overflow:hidden;
  animation:hz-bar-fill 1.2s ease-out;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.4);
}
.hz-bar-fill::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.5) 50%,transparent 70%);
  background-size:200% 100%;animation:hz-shimmer 3s linear infinite;
}
.hz-bar-fill.hp{background:linear-gradient(90deg,#ff5b85,#e85a7a,#c91d3a)}
.hz-bar-fill.mp{background:linear-gradient(90deg,#7aa0ff,#5a7ad4,#3a5aa0)}
.hz-bar-fill.kegare{background:linear-gradient(90deg,#7a1f3d,#4a0f25);box-shadow:inset 0 0 6px #ff4f7e}
.hz-bar-fill.drain{background:linear-gradient(90deg,#a07a85,#5a3a4a)}
.hz-bar-num.kegare{color:#7a1f3d;font-weight:700;text-shadow:0 0 4px rgba(122,31,61,.5)}

/* 六维 */
.hz-six{display:grid;grid-template-columns:1fr 1fr;gap:4px 12px;margin:4px 0}
.hz-six-row{display:grid;grid-template-columns:40px 1fr 30px;align-items:center;gap:6px;font-size:11px}
.hz-six-k{color:#9b1a3a;font-weight:700;letter-spacing:.1em}
.hz-six-track{height:6px;background:#f0d6dd;border-radius:3px;overflow:hidden;border:1px solid rgba(232,90,122,.3)}
.hz-six-fill{height:100%;border-radius:3px;animation:hz-bar-fill 1.2s ease-out}
.hz-six-fill.k1{background:linear-gradient(90deg,#ff8eb0,#e85a7a)}
.hz-six-fill.k2{background:linear-gradient(90deg,#c89bff,#7a4ad4)}
.hz-six-fill.k3{background:linear-gradient(90deg,#d4af37,#a07a1a)}
.hz-six-fill.k4{background:linear-gradient(90deg,#7aa0ff,#3a5aa0)}
.hz-six-fill.k5{background:linear-gradient(90deg,#9bcfff,#5a8acf)}
.hz-six-fill.k6{background:linear-gradient(90deg,#ffb6cc,#ff5b85)}
.hz-six-v{font-family:"Courier New",monospace;color:#3a2530;text-align:right}

/* 装备 */
.hz-equip{display:grid;gap:4px;margin:4px 0}
.hz-eq-row{display:flex;align-items:center;gap:6px;font-size:12px;padding:3px 6px;background:rgba(255,245,248,.5);border-radius:5px;border-left:2px solid rgba(232,90,122,.3)}
.hz-eq-slot{min-width:60px;color:#7a4a5a;font-weight:700;letter-spacing:.05em}
.hz-eq-grade{
  display:inline-block;min-width:22px;text-align:center;font-weight:800;font-size:10px;
  padding:1px 4px;border-radius:3px;color:#fff;letter-spacing:.05em;
}
.hz-eq-grade.g-s{background:linear-gradient(135deg,#ffd76b,#d4af37);color:#3a2510;box-shadow:0 0 8px #d4af37;animation:hz-bloom-pulse 2.5s ease-in-out infinite}
.hz-eq-grade.g-a{background:linear-gradient(135deg,#ff5b85,#c91d3a)}
.hz-eq-grade.g-b{background:linear-gradient(135deg,#ff8eb0,#e85a7a)}
.hz-eq-grade.g-c{background:linear-gradient(135deg,#fff,#ffd0dc);color:#9b1a3a}
.hz-eq-grade.g-d{background:linear-gradient(135deg,#a08a90,#5a4a50)}

.hz-equip .tip{position:relative;cursor:help;color:#9b1a3a;font-weight:600}
.hz-equip .tip .text{
  display:none;position:absolute;left:0;top:100%;z-index:5;
  background:#3a2530;color:#fff5f8;padding:6px 10px;border-radius:6px;
  font-size:11px;line-height:1.6;width:max-content;max-width:280px;
  box-shadow:0 4px 12px rgba(0,0,0,.4);border:1px solid #e85a7a;
}
.hz-equip .tip:hover .text{display:block;animation:hz-pop-in .25s ease}

.hz-eth{
  display:inline-block;padding:0 8px;font-family:"Courier New",monospace;font-weight:700;
  background:linear-gradient(90deg,#7aa0ff calc(var(--eth,0) * 1%),#1a2a4a calc(var(--eth,0) * 1%));
  background-clip:text;-webkit-background-clip:text;color:transparent;
  border:1px solid rgba(122,160,255,.5);border-radius:4px;
}

/* 资源 */
.hz-coin{display:flex;flex-wrap:wrap;gap:4px;margin:4px 0}
.hz-coin-item{
  font-size:11px;padding:2px 8px;border-radius:8px;font-weight:700;
  background:linear-gradient(135deg,#fff,#fff5d4);color:#7a5a1a;
  border:1px solid #d4af37;letter-spacing:.05em;
}
.hz-coin-item.eth{background:linear-gradient(135deg,#fff,#d6e0ff);color:#1a3a7a;border-color:#7aa0d4}
.hz-coin-item.gin{background:linear-gradient(135deg,#fff,#e0e0e8);color:#3a3a4a;border-color:#a0a0b0}
.hz-coin-item.kun{background:linear-gradient(135deg,#fff,#ffe4ec);color:#9b1a3a;border-color:#e85a7a}
.hz-coin-item.kuro{background:linear-gradient(135deg,#3a2530,#5a3a4a);color:#ffb6cc;border-color:#9b1a3a}
.hz-coin-item.ap{background:linear-gradient(135deg,#fff,#c89bff);color:#3a1a6c;border-color:#a07ad4}

/* 生理心理 */
.hz-body{display:flex;gap:6px;flex-wrap:wrap;margin:4px 0}
.hz-body-state{padding:2px 10px;font-size:11px;border-radius:10px;background:#ffe4ec;color:#9b1a3a;border:1px solid rgba(232,90,122,.4)}
.hz-body-state.s-ok{background:#d6ffe4;color:#1a7a3a;border-color:#7ad49b}
.hz-mind{font-size:12px;color:#5a3a4a;padding:4px 8px;background:rgba(255,224,232,.3);border-radius:6px;border-left:3px solid #ff8eb0}
.hz-mind b{color:#c91d3a}
.hz-mind i{color:#7a4a8c;font-style:italic}

/* 服饰整齐度 */
.hz-attire{display:flex;align-items:center;gap:8px;margin:4px 0;font-size:12px}
.hz-attire-label{color:#7a4a5a;font-weight:700}
.hz-attire-dots{display:inline-flex;gap:3px}
.hz-attire-dots i{
  display:block;width:10px;height:10px;border-radius:50%;
  background:#ffe4ec;border:1px solid rgba(232,90,122,.4);
  transition:all .35s ease;
}
.hz-attire-dots[data-level="1"] i{background:linear-gradient(135deg,#7ad49b,#1a7a3a);border-color:#1a7a3a}
.hz-attire-dots[data-level="2"] i:nth-child(1),.hz-attire-dots[data-level="2"] i:nth-child(2),.hz-attire-dots[data-level="2"] i:nth-child(3){background:linear-gradient(135deg,#ffd76b,#d4af37);border-color:#a07a1a}
.hz-attire-dots[data-level="3"] i:nth-child(1),.hz-attire-dots[data-level="3"] i:nth-child(2){background:linear-gradient(135deg,#ff8eb0,#e85a7a);border-color:#c91d3a}
.hz-attire-dots[data-level="4"] i:nth-child(1){background:linear-gradient(135deg,#c91d3a,#7a1f3d);border-color:#7a1f3d;animation:hz-bloom-pulse 1.5s ease-in-out infinite}
.hz-attire-state{color:#9b1a3a;font-weight:700}

/* 称呼·心定位 */
.hz-call{display:flex;gap:8px;margin:6px 0;flex-wrap:wrap}
.hz-call-out{padding:3px 10px;background:linear-gradient(135deg,#fff,#ffe4ec);border:1px dashed #e85a7a;border-radius:8px;font-size:12px;color:#9b1a3a}
.hz-call-in{padding:3px 10px;background:linear-gradient(135deg,#3a2530,#5a3a4a);border:1px dashed #ff8eb0;border-radius:8px;font-size:12px;color:#ffb6cc}

.hz-traits{display:flex;flex-wrap:wrap;gap:4px;margin:4px 0}
.hz-trait{padding:1px 8px;font-size:11px;border-radius:8px;background:linear-gradient(135deg,#fff8fb,#ffd0dc);color:#9b1a3a;border:1px solid rgba(232,90,122,.3)}

/* 容姿身材 */
.hz-look{font-size:13px;color:#5a3a4a;line-height:1.85;font-style:italic;padding:4px 8px;background:rgba(255,224,232,.25);border-radius:6px}
.hz-figure{margin:4px 0;padding:6px 8px;background:linear-gradient(180deg,#fff8fb,#ffe4ec);border:1px dashed rgba(232,90,122,.35);border-radius:6px}
.hz-fig-row{display:flex;flex-wrap:wrap;gap:8px;font-size:12px}
.hz-fig-k{color:#7a4a5a;font-weight:700}
.hz-fig-v{color:#9b1a3a;font-family:"Courier New",monospace;margin-right:8px}
.hz-fig-female{display:flex;gap:8px;align-items:center;margin:4px 0}
.hz-cup{
  display:inline-block;width:30px;height:30px;line-height:30px;text-align:center;
  background:radial-gradient(circle,#ffb6cc 30%,#e85a7a);color:#fff;
  border-radius:50%;font-weight:800;font-size:14px;
  box-shadow:0 2px 6px rgba(232,90,122,.5),inset 0 -2px 4px rgba(0,0,0,.15);
  text-shadow:0 1px 0 #c91d3a;
  animation:hz-bloom-pulse 3s ease-in-out infinite;
}
.hz-fig-trio{font-family:"Courier New",monospace;font-size:12px;color:#9b1a3a;font-weight:700}
.hz-fig-trio i{color:#e85a7a;font-style:normal;margin:0 4px 0 8px;font-weight:800}
.hz-fig-desc{font-size:12px;color:#7a4a5a;font-style:italic;line-height:1.7;margin:4px 0 0}

.hz-wear{font-size:13px;color:#3a2530;line-height:1.8;padding:4px 8px;background:rgba(255,245,248,.5);border-left:3px solid #ff8eb0;border-radius:0 4px 4px 0}
.hz-pose{font-size:12px;color:#7a4a5a;padding:4px 8px;background:rgba(255,224,232,.2);border-radius:4px;line-height:1.7}

/* 情感五轴 */
.hz-emo{margin:4px 0}
.hz-emo-row{display:grid;grid-template-columns:50px 1fr 32px;align-items:center;gap:6px;font-size:11px;margin:2px 0}
.hz-emo-k{font-weight:800;letter-spacing:.05em;text-align:center;padding:1px 0;border-radius:3px;color:#fff}
.hz-emo-k.love{background:linear-gradient(135deg,#ff5b85,#c91d3a)}
.hz-emo-k.trust{background:linear-gradient(135deg,#7aa0ff,#3a5aa0)}
.hz-emo-k.wary{background:linear-gradient(135deg,#a08a90,#5a4a50)}
.hz-emo-k.lust{background:linear-gradient(135deg,#c89bff,#7a4ad4);animation:hz-bloom-pulse 2s ease-in-out infinite}
.hz-emo-k.tire{background:linear-gradient(135deg,#7a8a90,#3a4a50)}
.hz-emo-track{height:7px;background:#f0d6dd;border-radius:3px;overflow:hidden;border:1px solid rgba(232,90,122,.3)}
.hz-emo-fill{height:100%;animation:hz-bar-fill 1.2s ease-out;position:relative}
.hz-emo-fill.love{background:linear-gradient(90deg,#ff8eb0,#c91d3a)}
.hz-emo-fill.trust{background:linear-gradient(90deg,#9bcfff,#3a5aa0)}
.hz-emo-fill.wary{background:linear-gradient(90deg,#a8b0b8,#5a4a50)}
.hz-emo-fill.lust{background:linear-gradient(90deg,#e0c4ff,#7a4ad4)}
.hz-emo-fill.tire{background:linear-gradient(90deg,#c8d0d8,#5a6a70)}
.hz-emo-v{font-family:"Courier New",monospace;text-align:right;color:#3a2530;font-weight:700}

/* 弱点·秘訣 */
.hz-weak{display:flex;align-items:center;gap:8px;margin:6px 0;padding:6px 10px;background:linear-gradient(90deg,rgba(255,215,107,.3),rgba(255,224,232,.3));border:1px dashed #d4af37;border-radius:6px}
.hz-weak-seal{padding:2px 10px;background:linear-gradient(135deg,#ffd76b,#d4af37);color:#3a2510;font-weight:800;border-radius:4px;font-size:11px;letter-spacing:.1em;box-shadow:0 0 6px rgba(212,175,55,.5)}
.hz-weak-text{font-size:12px;color:#5a3a4a;flex:1}

.hz-mem-l,.hz-mem-s{font-size:12px;margin:4px 0 2px;color:#9b1a3a}
.hz-mem-l b{color:#d4af37;text-shadow:0 0 4px rgba(212,175,55,.4)}
.hz-mem-s b{color:#e85a7a}

/* ━━━━━━━━━━ 8. 縁の記録 ━━━━━━━━━━ */
.hizakura-bonds{padding:8px 4px}
.bonds-title{
  text-align:center;font-weight:800;color:#9b1a3a;letter-spacing:.4em;font-size:13px;
  padding:6px 0;margin:8px 0 6px;
  background:linear-gradient(90deg,transparent,rgba(255,143,180,.3),transparent);
  border-top:1px dashed rgba(232,90,122,.3);border-bottom:1px dashed rgba(232,90,122,.3);
}
.bond-line{
  padding:6px 10px;margin:4px 0;font-size:13px;line-height:1.7;
  background:linear-gradient(90deg,rgba(255,224,232,.4),transparent);
  border-left:3px solid #e85a7a;border-radius:0 6px 6px 0;
  animation:hz-pop-in .5s ease both;
}
.bond-line b{color:#c91d3a}
.bond-meter{padding:1px 6px;background:rgba(255,143,180,.3);border-radius:8px;font-size:11px;color:#9b1a3a;font-weight:700;margin:0 4px}
.bond-quote{padding:3px 10px;font-size:12px;color:#7a4a8c;font-style:italic;background:rgba(232,210,255,.15);border-left:2px dashed #c89bff;margin-top:3px}

/* ━━━━━━━━━━ 9. 任务 ━━━━━━━━━━ */
.hizakura-quest q{
  display:block;padding:8px 12px;margin:6px 0;border-radius:8px;
  background:linear-gradient(135deg,#fff8fb,#ffe4ec);
  border:1px solid rgba(232,90,122,.3);border-left:4px solid #e85a7a;
  font-size:12px;line-height:1.8;quotes:none;
  position:relative;animation:hz-pop-in .5s ease both;
}
.hizakura-quest q[s="doing"]{border-left-color:#d4af37;background:linear-gradient(135deg,#fffaf0,#fff5d4)}
.hizakura-quest q[s="hidden"]{border-left-color:#7a4a8c;background:linear-gradient(135deg,#f5f0ff,#e8d6ff)}
.hizakura-quest q[s="done"]{border-left-color:#7ad49b;background:linear-gradient(135deg,#f0fff5,#d6ffe4);opacity:.85}
.hizakura-quest q::before,.hizakura-quest q::after{content:""}
.hizakura-quest h{
  display:block;font-weight:800;color:#9b1a3a;letter-spacing:.2em;font-size:13px;
  padding-bottom:4px;margin-bottom:4px;border-bottom:1px dashed rgba(232,90,122,.3);
}
.hizakura-quest q[s="doing"] h{color:#7a5a1a}
.hizakura-quest q[s="doing"] h::before{content:"⚔ ";color:#d4af37}
.hizakura-quest q[s="hidden"] h{color:#5a3a8c}
.hizakura-quest q[s="hidden"] h::before{content:"❓ "}
.hizakura-quest q[s="done"] h{color:#1a7a3a}
.hizakura-quest q[s="done"] h::before{content:"✓ ";color:#1a7a3a}
.hizakura-quest d{display:block;padding:1px 0;color:#3a2530}
.hizakura-quest d::before{content:"・";color:#e85a7a;margin-right:4px}

/* ━━━━━━━━━━ 10. 大正電波·導力網 ━━━━━━━━━━ */
.denpa-frame{
  background:
    repeating-linear-gradient(90deg,transparent 0,transparent 3px,rgba(122,160,255,.04) 3px,rgba(122,160,255,.04) 4px),
    linear-gradient(180deg,#1a2a4a 0%,#2a3a5a 100%);
  color:#9bcfff;font-family:"Courier New","DOS",monospace;
  border:1px solid #7aa0d4;border-radius:8px;padding:0;overflow:hidden;
  box-shadow:0 4px 16px rgba(122,160,255,.3),inset 0 0 30px rgba(122,160,255,.1);
}
.denpa-header{
  padding:6px 12px;font-size:12px;font-weight:700;
  background:linear-gradient(90deg,#0a1a3a,#1a2a4a);
  color:#9bcfff;text-shadow:0 0 6px #7aa0d4;
  border-bottom:1px dashed rgba(122,160,255,.4);letter-spacing:.05em;
}
.denpa-section{padding:8px 12px;border-bottom:1px dashed rgba(122,160,255,.25);font-size:12.5px;line-height:1.85;position:relative}
.denpa-section:last-child{border-bottom:none}
.denpa-section::before{
  content:attr(data-title);display:block;font-weight:800;color:#ffd76b;
  text-shadow:0 0 6px #d4af37;letter-spacing:.1em;font-size:12px;margin-bottom:4px;
}

/* ━━━━━━━━━━ 11. 記憶の桜 ━━━━━━━━━━ */
.memory-frame{
  background:linear-gradient(180deg,#fffafc,#fff0f5);
  padding:10px 14px;border-radius:8px;border:1px dashed rgba(232,90,122,.3);
}
.memory-title{
  text-align:center;font-weight:800;color:#9b1a3a;letter-spacing:.4em;font-size:13px;
  padding:6px 0;margin:6px 0 4px;
  background:linear-gradient(90deg,transparent,rgba(255,143,180,.25),transparent);
}
.memory-frame strong{color:#d4af37;font-size:13px;display:block;margin:4px 0;text-shadow:0 0 4px rgba(212,175,55,.3)}
.memory-frame hr{border:none;border-top:1px dashed rgba(232,90,122,.3);margin:8px 0}
.memory-frame p{margin:3px 0;font-size:12.5px;line-height:1.75;color:#3a2530}

/* ━━━━━━━━━━ 12. 行動選項 ━━━━━━━━━━ */
.hizakura-actions{
  display:grid;gap:8px;margin:14px 0;padding:12px;
  background:linear-gradient(180deg,rgba(255,224,232,.3),rgba(255,245,248,.2));
  border:1px dashed rgba(232,90,122,.4);border-radius:10px;
}
.hizakura-actions r{
  display:block;padding:9px 14px;border-radius:10px;font-size:13px;line-height:1.7;
  background:linear-gradient(135deg,#fff8fb,#ffe4ec);
  border:1px solid rgba(232,90,122,.4);border-left:5px solid #e85a7a;
  color:#3a2530;font-weight:600;cursor:pointer;
  position:relative;overflow:hidden;
  transition:all .35s cubic-bezier(.34,1.56,.64,1);
  animation:hz-pop-in .6s ease both;
}
.hizakura-actions r::before{
  content:"["attr(t)"]";display:inline-block;
  margin-right:8px;padding:1px 8px;border-radius:4px;font-weight:800;font-size:11px;
  background:linear-gradient(135deg,#e85a7a,#c91d3a);color:#fff;letter-spacing:.1em;
  box-shadow:0 1px 3px rgba(232,90,122,.4);
}
.hizakura-actions r[t="ハイカラ"]::before{background:linear-gradient(135deg,#ffd76b,#d4af37);color:#3a2510}
.hizakura-actions r[t="散華"]::before{background:linear-gradient(135deg,#ff5b85,#c91d3a);box-shadow:0 0 8px rgba(232,90,122,.6)}
.hizakura-actions r[t="本懐"]::before{background:linear-gradient(135deg,#ff8eb0,#e85a7a)}
.hizakura-actions r[t="伏線"]::before{background:linear-gradient(135deg,#c89bff,#7a4ad4);box-shadow:0 0 8px rgba(122,74,212,.5)}
.hizakura-actions r[t="自由"]::before{background:linear-gradient(135deg,#9bcfff,#3a5aa0)}
.hizakura-actions r b{color:#9b1a3a;font-weight:800;display:inline}
.hizakura-actions r:hover{
  transform:translateX(6px) scale(1.015);
  box-shadow:0 4px 14px rgba(232,90,122,.35);
  background:linear-gradient(135deg,#ffe4ec,#ff8eb0);
}
.hizakura-actions r::after{
  content:"";position:absolute;top:0;left:-100%;width:60%;height:100%;
  background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.6) 50%,transparent 70%);
  transition:left .8s ease;
}
.hizakura-actions r:hover::after{left:140%}

/* ━━━━━━━━━━ 13. 隐藏控件 ━━━━━━━━━━ */
.ctrl-hidden,fbar.ctrl-hidden,fbar{display:none !important}

/* ═══════════════════════════════════════════════════
   ▓▓▓ 14. 七大高燃 fx 特效协议 ▓▓▓
   ═══════════════════════════════════════════════════ */

.fx-bloom{
  display:inline-block;padding:0 6px;font-weight:800;
  color:#c91d3a;background:linear-gradient(135deg,#fff,#ffe4ec,#ff8eb0);
  background-clip:text;-webkit-background-clip:text;
  border-radius:4px;
  text-shadow:0 0 4px #ff8eb0,0 0 12px #ff4f7e,0 0 22px rgba(232,90,122,.6);
  animation:hz-bloom-pulse 1.6s ease-in-out infinite;
  position:relative;
}
.fx-bloom::before{content:"❀";position:absolute;left:-12px;top:-4px;font-size:10px;color:#ff4f7e;animation:hz-glow-rotate 4s linear infinite}
.fx-bloom::after{content:"❀";position:absolute;right:-12px;bottom:-4px;font-size:10px;color:#ff8eb0;animation:hz-glow-rotate 4s linear infinite reverse}

.fx-slash{
  display:inline-block;position:relative;padding:1px 10px;
  background:linear-gradient(135deg,#fffdf0,#ffd76b,#d4af37);
  background-clip:text;-webkit-background-clip:text;color:transparent;
  font-weight:900;letter-spacing:.05em;
  text-shadow:0 0 6px #d4af37,0 0 14px rgba(212,175,55,.5);
  overflow:hidden;
}
.fx-slash::before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(110deg,transparent 35%,rgba(255,215,107,.85) 50%,transparent 65%);animation:hz-slash-sweep 1.5s ease-out infinite;pointer-events:none}
.fx-slash::after{content:"";position:absolute;left:-3px;top:0;bottom:0;width:2px;background:linear-gradient(180deg,transparent,#d4af37,transparent);box-shadow:0 0 8px #ffd76b;animation:hz-bloom-pulse 1.5s ease-in-out infinite}

.fx-heartbeat,p.fx-heartbeat{
  font-weight:800 !important;color:#c91d3a !important;
  background:linear-gradient(90deg,rgba(255,143,180,.25),rgba(232,90,122,.18),rgba(255,143,180,.25)) !important;
  border-left-color:#c91d3a !important;border-left-width:5px !important;
  animation:hz-heartbeat 1.4s ease-in-out infinite;
  text-shadow:0 0 4px #ff8eb0,0 0 10px #e85a7a;
  box-shadow:inset 0 0 16px rgba(232,90,122,.18),0 0 14px rgba(232,90,122,.3);
}

.fx-corrupt{
  display:inline-block;font-style:italic;font-weight:800;
  color:#7a1f3d;
  text-shadow:0 0 4px #c91d3a,1px 0 0 #4a0f25,-1px 0 0 #ff4f7e;
  animation:hz-corrupt-shake .35s steps(2) infinite,hz-corrupt-flicker 1.2s ease-in-out infinite;
  background:linear-gradient(135deg,rgba(122,31,61,.15),rgba(74,15,37,.25));
  padding:0 4px;border-radius:2px;
  letter-spacing:.05em;
}

.fx-fade{
  display:inline-block;color:#7a4a5a;
  background:linear-gradient(180deg,#a08a90,#5a4a50);
  background-clip:text;-webkit-background-clip:text;
  animation:hz-fade-die 3s ease-out forwards;
  position:relative;font-style:italic;
}
.fx-fade::after{content:"❀";position:absolute;right:-14px;top:-4px;font-size:11px;color:#ffb6cc;animation:hz-petal-fall 4s ease-in infinite}

.fx-prophecy{
  display:inline-block;padding:0 6px;font-weight:800;letter-spacing:.06em;
  background:linear-gradient(135deg,#d4af37,#c89bff,#7a4ad4,#d4af37);
  background-size:300% 300%;
  background-clip:text;-webkit-background-clip:text;color:transparent;
  animation:hz-prophecy-breath 3.2s ease-in-out infinite,hz-bg-drift 8s linear infinite;
  position:relative;
}
.fx-prophecy::before,.fx-prophecy::after{content:"⛩";color:#d4af37;font-size:10px;margin:0 4px;text-shadow:0 0 6px #ffd76b;animation:hz-prophecy-breath 3.2s ease-in-out infinite}

.fx-climax{
  display:block;padding:14px 18px;margin:12px 0;border-radius:14px;
  background:
    radial-gradient(ellipse at 30% 30%,rgba(255,79,126,.25) 0,transparent 50%),
    radial-gradient(ellipse at 70% 70%,rgba(201,29,58,.2) 0,transparent 50%),
    linear-gradient(135deg,#3a1525 0%,#5a1f3a 50%,#3a1525 100%);
  border:2px solid #c91d3a;color:#ffe4ec !important;
  box-shadow:inset 0 0 50px rgba(255,79,126,.25),0 0 30px rgba(232,90,122,.5);
  animation:hz-climax-pulse 1.8s ease-in-out infinite,hz-heartbeat 1.4s ease-in-out infinite;
  position:relative;overflow:hidden;
}
.fx-climax::before,.fx-climax::after{content:"❀";position:absolute;font-size:18px;color:#ffb6cc;text-shadow:0 0 12px #ff4f7e;animation:hz-petal-fall 3s ease-in infinite}
.fx-climax::before{top:-10px;left:15%;animation-delay:0s}
.fx-climax::after{top:-10px;right:20%;animation-delay:1.2s;animation-name:hz-petal-fall-2}
.fx-climax p{color:#ffe4ec !important;text-shadow:0 0 4px #c91d3a,0 0 10px rgba(255,79,126,.6)}
.fx-climax p.dlg{background:rgba(0,0,0,.3) !important;border-left-color:#ffd76b !important;color:#ffd76b !important}

/* ━━━━━━━━━━ 15. 移动端响应式微调 ━━━━━━━━━━ */
@media (max-width:520px){
  hzk{padding:10px}
  .hizakura-story{padding:12px 14px;font-size:14px}
  .hz-six{grid-template-columns:1fr}
  .banner-map-notes{grid-template-columns:1fr}
  .banner-map{font-size:10.5px}
  .hizakura-actions r{padding:8px 10px;font-size:12.5px}
  .hz-stage{grid-template-columns:repeat(7,1fr);gap:2px}
  .hz-stage-cell{font-size:9.5px;padding:3px 0}
  .hz-chips{gap:3px}
  .hz-chip{font-size:10px;padding:1px 6px}
}