/* HeartBug presentation stylesheet 23 (extracted from inline <style>) */

  .p16b-slide .inner{width:min(1360px,100%);height:100%;display:flex;flex-direction:column;justify-content:center;gap:clamp(10px,1.8vh,18px);padding:1vh 0}
  .p16b-main{display:flex;align-items:center;justify-content:center;gap:clamp(24px,3vw,52px);width:100%}
  .p16b-head{text-align:center}
  .p16b-head .kicker{justify-content:center}
  .p16b-cal{display:grid;grid-template-columns:repeat(7,1fr);gap:clamp(8px,1vw,13px);width:min(780px,60vw);flex:none}
  .p16b-cell{position:relative;aspect-ratio:1/1.02;border:1.5px solid var(--line);border-radius:13px;background:#fff;
    display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;
    opacity:0;transform:translateY(16px);transition:opacity .6s var(--ease),transform .55s cubic-bezier(.22,1.35,.36,1),border-color .35s var(--ease),box-shadow .45s var(--ease)}
  .is-active .p16b-cell{opacity:1;transform:none}
  .p16b-cell b{font-size:clamp(16px,1.6vw,22px);font-weight:800;color:var(--ink)}
  .p16b-cell .tg{font-size:clamp(12.5px,1.3vw,17px);font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--dim);min-height:14px}
  .p16b-cell.ev{cursor:pointer;
    background:linear-gradient(145deg,#ffffff 30%,#F3F0EB);
    box-shadow:inset 0 1.5px 0 #fff,inset 0 -2px 4px rgba(20,17,20,.08),0 8px 18px -8px rgba(20,17,20,.28);
    border-color:rgba(20,17,20,.16)}
  .p16b-cell.ev:hover{border-color:var(--red);box-shadow:0 12px 26px -12px rgba(228,0,43,.45);transform:translateY(-4px)!important}
  .p16b-cell.af .tg{color:var(--red)} .p16b-cell.ec .tg{color:var(--ink)} .p16b-cell.cb .tg{color:#A50020}
  .p16b-cell.af{border-color:rgba(228,0,43,.4)} .p16b-cell.cb{border-color:rgba(165,0,32,.4)}
  .p16b-cell.ev::after{content:"";position:absolute;top:9px;right:9px;width:10px;height:10px;border-radius:50%}
  .p16b-cell.af::after{background:var(--red)}
  .p16b-cell.ec::after{background:var(--ink);border-radius:2px}
  .p16b-cell.cb::after{background:#A50020;border-radius:0;clip-path:polygon(50% 0,100% 100%,0 100%)}
  /* 0729-2 批注：轮动到红晕格时动作更突出 —— 凸起（上浮+放大+加深投影）；
     0729-4 批注：取消关键帧动画，改由基座弹簧曲线 transition 双向驱动，选中/取消都丝滑无跳变 */
  .p16b-cell.sel{border-color:var(--red);transform:translateY(-6px) scale(1.07);z-index:2;
    box-shadow:0 0 0 3px rgba(228,0,43,.16),0 24px 42px -14px rgba(228,0,43,.5)}
  .p16b-cell.sel b{color:var(--red)}
  .p16b-rail{display:flex;flex-direction:column;gap:clamp(12px,2vh,20px);width:clamp(240px,22vw,320px)}
  .p16b-legend{display:flex;flex-direction:column;gap:10px}
  .p16b-legend span{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--ink)}
  .p16b-legend i{width:12px;height:12px;border-radius:50%;flex:none}
  .p16b-legend i.lg-ec{border-radius:2px}
  .p16b-legend i.lg-cb{border-radius:0;clip-path:polygon(50% 0,100% 100%,0 100%)}
  .p16b-legend i.lg-sin{border-radius:2px;transform:rotate(45deg) scale(.85)}
  .p16b-info{display:flex;flex-direction:column;gap:10px;min-height:150px;border:1.5px solid var(--line-r);border-radius:14px;
    padding:16px 20px;background:#fff;transition:box-shadow .3s;box-shadow:0 18px 40px -24px rgba(228,0,43,.3)}
  .p16b-info.hot{animation:p16bPop .45s var(--ease)}
  @keyframes p16bPop{0%{transform:scale(.97)}60%{transform:scale(1.015)}100%{transform:scale(1)}}
  .p16b-info .day{flex:none;font-size:13px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--red);
    border-bottom:1.5px solid var(--line);padding-bottom:9px}
  .p16b-info .txt{font-size:clamp(13px,1.1vw,15.5px);font-weight:300;color:var(--muted);line-height:1.55}
  .p16b-info .txt b{font-weight:700;color:var(--red)}
  /* iPad landscape: calendar stays left and legend/details stay right without overlap */
  @media (max-width:1200px) and (max-height:950px) and (min-width:901px){
    .p16b-main{
      display:grid;
      grid-template-columns:minmax(0,1fr) minmax(200px,230px);
      align-items:center;
      justify-content:stretch;
      gap:18px;
      translate:-1vw 0;
    }
    .p16b-cal{
      width:100%;
      max-width:680px;
      min-width:0;
      justify-self:start;
      gap:clamp(5px,.65vw,8px);
    }
    .p16b-rail{
      width:100%;
      min-width:0;
      justify-self:end;
      translate:-15% 0;
    }
    .p16b-legend{gap:7px}
    .p16b-legend span{gap:7px;font-size:11px;letter-spacing:.08em}
    .p16b-legend i{width:10px;height:10px}
    .p16b-info{min-height:130px;padding:12px 14px}
    .p16b-info .txt{font-size:12px;line-height:1.45}
  }
  /* 0730 竖屏/平板适配：日历与右侧栏改上下堆叠，杜绝横向滚动条 */
  @media (max-width:900px){
    .p16b-slide .inner{overflow-y:auto;justify-content:flex-start}
    .p16b-main{flex-direction:column;gap:18px}
    .p16b-cal{width:min(100%,560px)}
    .p16b-rail{width:100%;max-width:560px;flex-direction:row;align-items:flex-start}
    .p16b-legend{flex:1;gap:8px}
    .p16b-legend span{font-size:12px}
    .p16b-info{flex:1.2;min-height:0;padding:12px 14px}
  }
  
