/* HeartBug presentation stylesheet 12 (extracted from inline <style>) */

  /* ─── GUIDELINES · centred composition · flat bug edition (scoped) ─── */
  .p8-slide .inner{position:relative;width:min(1360px,100%);height:100%;display:flex;flex-direction:column;justify-content:flex-start;align-items:center;gap:clamp(6px,1.2vh,12px);text-align:center;padding:1vh 0}
  .p8-bug{position:absolute;left:50%;top:50.5%;transform:translate(-50%,-50%);z-index:0;pointer-events:none;opacity:0}
  /* ESC 国际标准竖排标识：心形在上、字母在下（图4 居中辐射式） */
  .p8-escbig{display:flex;flex-direction:column;align-items:center;gap:clamp(6px,1vh,12px);pointer-events:auto;cursor:pointer}
  .p8-slide .p8-escbig img{height:clamp(92px,14.5vh,148px);width:auto;max-width:38vw}
  .p8-escbig .esc-letters{font-size:clamp(24px,2.6vw,42px);font-weight:800;letter-spacing:.04em;color:var(--ink);line-height:1}
  .is-active .p8-bug{animation:p8BugIn 1.2s var(--ease) .25s forwards}
  @keyframes p8BugIn{from{opacity:0;translate:0 30px;scale:.9}to{opacity:1;translate:0 0;scale:1}}
  .p8-bug img{width:100%;height:auto;display:block;filter:drop-shadow(0 24px 44px rgba(20,17,20,.16))}
  .p8-bug::after{content:"";position:absolute;left:50%;top:56%;width:72%;height:58%;transform:translate(-50%,-50%);z-index:-1;border-radius:50%;
    background:radial-gradient(closest-side,rgba(228,0,43,.08),transparent 72%)}
  .p8-slide .inner>*:not(.p8-bug):not(.p8-cards):not(.p8-meta):not(.p8-esc):not(.p8-esc-panel){position:relative;z-index:1}
  .p8-kicker{text-align:center;font-size:15px;font-weight:700;letter-spacing:.24em;text-transform:uppercase;color:var(--red)}
  .p8-kicker::before{content:"—";color:var(--line-r);margin-right:14px}
  .p8-kicker::after{content:"—";color:var(--line-r);margin-left:14px}
  .p8-title{text-align:center;margin-top:clamp(4px,.8vh,8px);font-size:clamp(1.8rem,3.2vw,3rem);font-weight:800;letter-spacing:-.02em;line-height:1.12;white-space:nowrap}
  .p8-sub{text-align:center;margin-top:0;max-width:none;white-space:nowrap;color:var(--muted);font-size:clamp(1.05rem,1.6vw,1.45rem);line-height:1.5}
  /* ESC chip + expandable citation panel */
  .p8-esc{position:absolute;right:6.5%;bottom:5.5%;z-index:2;display:inline-flex;align-items:center;gap:10px;margin:0;
    border:0;background:none;padding:6px 10px;border-radius:12px;cursor:pointer;
    transition:transform .3s var(--ease),filter .3s var(--ease)}
  .p8-esc img{height:clamp(26px,3.4vh,34px);width:auto;display:block}
  .p8-esc span{font-size:15px;font-weight:800;letter-spacing:.18em;color:var(--ink)}
  .p8-esc:hover,.p8-esc.on{transform:translateY(-2px);filter:drop-shadow(0 10px 18px rgba(228,0,43,.30))}
  .p8-esc-panel{position:absolute;right:6.5%;bottom:11%;z-index:5;
    width:min(330px,86vw);text-align:left;
    opacity:0;pointer-events:none;transform:translateY(10px);
    transition:opacity .35s var(--ease),transform .35s var(--ease)}
  .p8-esc-panel.show{opacity:1;transform:none;pointer-events:auto}
  .p8-esc-panel .ph{display:flex;align-items:center;gap:9px}
  .p8-esc-panel .ph img{height:26px;width:auto}
  .p8-esc-panel .ph b{font-size:1.05rem;font-weight:800;letter-spacing:.12em;color:var(--ink)}
  .p8-esc-panel p{margin-top:9px;font-size:.85rem;color:var(--muted);line-height:1.55}
  .p8-esc-panel p b{color:var(--red)}
  .p8-esc-panel a{color:var(--red);text-decoration:none;font-size:.8rem;word-break:break-all}
  /* scattered cards around the bug */
  .p8-slide .p8-cards{position:absolute;inset:0;z-index:1;pointer-events:none}
  .p8-slide .p8-card{position:absolute;width:clamp(230px,21vw,310px);pointer-events:auto;
    border:1.5px solid var(--line);border-radius:14px;background:rgba(255,255,255,.94);
    padding:clamp(10px,1.6vh,16px) clamp(12px,1.5vw,18px);cursor:pointer;text-align:center;
    box-shadow:0 14px 36px -22px rgba(20,17,20,.18);
    transition:border-color .35s var(--ease),box-shadow .35s var(--ease),transform .35s var(--ease),filter .35s var(--ease);
    opacity:0}
  .p8-slide .p8-card.c1{left:6%;top:44%;transform:translateY(-50%)}
  .p8-slide .p8-card.c2{right:6%;top:44%;transform:translateY(-50%)}
  .p8-slide .p8-card.c3{left:50%;bottom:8%;transform:translateX(-50%)}
  .is-active .p8-card{animation:p8Card .8s var(--ease) forwards;animation-delay:var(--d)}
  @keyframes p8Card{from{opacity:0;translate:0 26px}to{opacity:1;translate:0 0}}
  .p8-card .hrs{font-size:9.5px;font-weight:700;letter-spacing:.26em;text-transform:uppercase;color:var(--dim)}
  .p8-card h3{margin-top:6px;font-size:clamp(1rem,1.4vw,1.25rem);font-weight:800;transition:color .3s}
  .p8-card p{margin-top:5px;font-size:clamp(.72rem,.88vw,.82rem);color:var(--muted);line-height:1.45}
  .p8-lvl{display:flex;justify-content:center;gap:5px;margin-top:9px}
  .p8-lvl i{width:18px;height:3.5px;border-radius:2px;background:var(--line);transition:background .3s,transform .3s var(--ease)}
  .p8-card:hover,.p8-card.active{border-color:var(--line-r);box-shadow:0 18px 44px -20px rgba(228,0,43,.3)}
  .p8-card.c1:hover,.p8-card.c1.active,.p8-card.c2:hover,.p8-card.c2.active{transform:translateY(calc(-50% - 5px))}
  .p8-card.c3:hover,.p8-card.c3.active{transform:translateX(-50%) translateY(-5px)}
  .p8-card:hover h3,.p8-card.active h3{color:var(--red)}
  .p8-card:hover .p8-lvl i.on,.p8-card.active .p8-lvl i.on{background:var(--red);transform:scaleY(1.6)}
  /* 三卡视觉/动效统一（0729 批注）：默认中性黑灰，hover/选中统一变红；等级条统一红色 */
  .p8-card .p8-lvl i.on{background:var(--red)}
  .p8-cards.has-focus .p8-card:not(:hover):not(.active){filter:opacity(.4) grayscale(.5)}
  /* ESC 中枢到三张卡的连接弧线（图4） */
  .p8-link{position:absolute;inset:0;width:100%;height:100%;z-index:0;pointer-events:none;overflow:visible}
  .p8-link path{fill:none;stroke:rgba(20,17,20,.22);stroke-width:1.5px;vector-effect:non-scaling-stroke;stroke-linecap:round}
  .p8-slide .p8-meta{position:absolute;left:1%;bottom:1.5%;z-index:1;font-size:11px;font-weight:700;letter-spacing:.3em;color:var(--dim)}
  @media (max-width:900px){
    .p8-slide .inner{overflow-y:auto}
    .p8-title{white-space:normal}
    .p8-sub{white-space:normal}
    .p8-slide .p8-bug{position:static;transform:none;margin:8px auto}
    .p8-slide .p8-cards{position:static;display:flex;flex-direction:column;gap:12px;pointer-events:auto}
    .p8-link{display:none}
    .p8-slide .p8-card{position:static;width:100%;transform:none!important}
    .p8-esc-panel{top:auto;bottom:8%}
    .p8-slide .p8-meta{position:static;margin:12px 0}
  }
  