/*
 * Copyright (c) 2025–2026 Ion Hands LLC. All rights reserved.
 * Proprietary and confidential. Unauthorized copying, modification,
 * distribution, or use of this file, via any medium, is strictly prohibited.
 */

  


  @keyframes tddFade{from{opacity:0}to{opacity:1}}
  @keyframes tddFlyL{from{opacity:0;transform:translateX(-36px)}to{opacity:1;transform:translateX(0)}}
  @keyframes tddFlyR{from{opacity:0;transform:translateX(36px)}to{opacity:1;transform:translateX(0)}}
  @keyframes tddFlyUp{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}
  @keyframes tddFlyDown{from{opacity:0;transform:translateY(-18px)}to{opacity:1;transform:translateY(0)}}
  @keyframes tddPop{0%{opacity:0;transform:scale(0.3)}60%{transform:scale(1.15)}100%{opacity:1;transform:scale(1)}}
  @keyframes tddFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}
  @keyframes tddPulse{0%,100%{transform:scale(1);opacity:.85}50%{transform:scale(1.08);opacity:1}}
  @keyframes tddGlow{0%,100%{box-shadow:0 0 0 0 rgba(16,185,129,0.5)}50%{box-shadow:0 0 0 8px rgba(16,185,129,0)}}
  @keyframes tddScanX{0%{transform:translateX(-10px);opacity:0}15%{opacity:1}85%{opacity:1}100%{transform:translateX(280px);opacity:0}}
  @keyframes tddWave1{0%,100%{transform:scaleY(1)}50%{transform:scaleY(2.4)}}
  @keyframes tddWave2{0%,100%{transform:scaleY(1)}50%{transform:scaleY(1.6)}}
  @keyframes tddWave3{0%,100%{transform:scaleY(1)}50%{transform:scaleY(3)}}
  @keyframes tddTap{0%,100%{transform:scale(1)}45%,55%{transform:scale(0.86)}}
  @keyframes tddSlideUp{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}
  @keyframes tddRipple{0%{transform:scale(0.8);opacity:1}100%{transform:scale(2.2);opacity:0}}
  @keyframes tddDraw{from{stroke-dashoffset:60}to{stroke-dashoffset:0}}
  @keyframes tddBounceOff{0%{transform:translateX(0);opacity:1}40%{transform:translateX(20px);opacity:1}100%{transform:translateX(-30px) translateY(-10px);opacity:0}}
  @keyframes tddThrough{from{transform:translateX(-60px);opacity:0}to{transform:translateX(0);opacity:1}}
  @keyframes tddHeartFloat{0%{transform:translateY(0);opacity:1}100%{transform:translateY(-40px);opacity:0}}
  @keyframes tddSpin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}
  @keyframes tddShimmer{0%{background-position:-200% center}100%{background-position:200% center}}
  @keyframes tddSparkle{0%,100%{transform:scale(0) rotate(0deg);opacity:0}50%{transform:scale(1.3) rotate(180deg);opacity:1}}

  
  #tourDeepOverlay{
    position:fixed;inset:0;z-index:9200;
    background:rgba(0,0,0,0.6);
    display:flex;align-items:center;justify-content:center;
    padding:16px;
    opacity:0;pointer-events:none;
    transition:opacity 0.3s ease;}
  #tourDeepOverlay.open{opacity:1;pointer-events:all;}
  .tdd-card{
    background:#fff;border-radius:16px;
    width:100%;max-width:400px;
    overflow:hidden;
    transform:translateY(24px);
    transition:transform 0.35s cubic-bezier(.25,1,.5,1);
    box-shadow:0 24px 64px rgba(0,0,0,0.28);}
  #tourDeepOverlay.open .tdd-card{transform:translateY(0);}
  .tdd-stage{
    height:210px;position:relative;overflow:hidden;
    border-radius:16px 16px 0 0;}
  .tdd-slide{
    position:absolute;inset:0;
    opacity:0;pointer-events:none;
    transition:opacity 0.35s ease;}
  .tdd-slide.active{opacity:1;pointer-events:all;}
  
  .tda{position:absolute;display:flex;align-items:center;justify-content:center;}
  
  .tdd-chip{
    background:#fff;border-radius:7px;
    box-shadow:0 2px 10px rgba(0,0,0,0.11);
    padding:6px 10px;display:flex;align-items:center;gap:6px;
    font-family:'Inter',sans-serif;font-size:.72rem;font-weight:600;color:#333;}
  .tdd-chip svg{flex-shrink:0;}
  
  .tdd-wave{display:flex;align-items:center;gap:3px;height:28px;}
  .tdd-wave span{display:block;width:3px;border-radius:2px;background:#10b981;}
  
  .tdd-cal{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;}
  .tdd-cal-cell{width:14px;height:14px;border-radius:3px;background:rgba(255,255,255,0.5);
    display:flex;align-items:center;justify-content:center;
    font-family:'Inter',sans-serif;font-size:.45rem;font-weight:600;color:#555;}
  .tdd-cal-cell.hi{background:#10b981;color:#fff;}
  .tdd-cal-cell.dim{background:rgba(255,255,255,0.2);color:#aaa;}
  
  .tdd-person{display:flex;flex-direction:column;align-items:center;gap:2px;font-family:'Inter',sans-serif;font-size:.58rem;font-weight:600;color:#555;}
  .tdd-person-icon{border-radius:50%;display:flex;align-items:center;justify-content:center;}
  
  .tdd-shield{display:flex;align-items:center;justify-content:center;
    width:44px;height:48px;position:relative;}
  
  .tdd-info{padding:14px 20px 8px;text-align:center;border-top:1px solid #f0f0f0;}
  .tdd-label{font-size:.58rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
    color:var(--accent);margin-bottom:4px;}
  .tdd-headline{font-family:'Inter',sans-serif;font-size:1.08rem;font-weight:700;
    color:#1a1a1a;letter-spacing:-.02em;line-height:1.3;margin-bottom:5px;}
  .tdd-body{font-family:'Inter',sans-serif;font-size:.83rem;font-weight:400;
    color:#666;line-height:1.6;min-height:52px;}
  .tdd-bottom{padding:10px 18px 16px;background:#fafafa;border-top:1px solid #f0f0f0;
    display:flex;flex-direction:column;align-items:center;gap:10px;}

  


  #tourOverlay{
    position:fixed;inset:0;z-index:9100;
    background:rgba(0,0,0,0.55);
    display:flex;align-items:center;justify-content:center;
    padding:20px;
    opacity:0;pointer-events:none;
    transition:opacity 0.3s ease;}
  #tourOverlay.open{opacity:1;pointer-events:all;}
  .tour-card{
    background:#fff;border-radius:16px;
    width:100%;max-width:400px;
    overflow:hidden;
    transform:translateY(24px);
    transition:transform 0.35s cubic-bezier(.25,1,.5,1);
    box-shadow:0 24px 64px rgba(0,0,0,0.22);}
  #tourOverlay.open .tour-card{transform:translateY(0);}
  .tour-slide-top{
    padding:36px 28px 24px;
    display:flex;flex-direction:column;align-items:center;
    text-align:center;
    min-height:280px;justify-content:center;
    transition:background 0.4s ease;}
  .tour-icon-wrap{
    width:88px;height:88px;border-radius:50%;
    display:flex;align-items:center;justify-content:center;
    margin-bottom:22px;flex-shrink:0;}
  .tour-headline{
    font-family:'Inter',sans-serif;font-size:1.35rem;font-weight:700;
    color:#1a1a1a;letter-spacing:-.03em;line-height:1.25;
    margin-bottom:10px;}
  .tour-body{
    font-family:'Inter',sans-serif;font-size:1rem;font-weight:400;
    color:#555;line-height:1.65;max-width:300px;}
  .tour-bottom{
    padding:16px 20px 20px;
    border-top:1px solid #f0f0f0;
    background:#fafafa;
    display:flex;flex-direction:column;align-items:center;gap:14px;}
  .tour-dots{display:flex;gap:7px;align-items:center;}
  .tour-dot{
    width:7px;height:7px;border-radius:50%;
    background:#ddd;transition:background .25s,transform .25s;}
  .tour-dot.active{background:#10b981;transform:scale(1.35);}
  .tour-nav{display:flex;align-items:center;gap:10px;width:100%;}
  .tour-btn-back{
    flex:0 0 auto;
    background:none;border:1.5px solid #ddd;border-radius:8px;
    padding:10px 18px;font-family:'Inter',sans-serif;
    font-size:.9rem;font-weight:600;color:#888;cursor:pointer;}
  .tour-btn-back:hover{border-color:#bbb;color:#555;}
  .tour-btn-next{
    flex:1;
    background:#10b981;border:none;border-radius:8px;
    padding:12px 18px;font-family:'Inter',sans-serif;
    font-size:1rem;font-weight:700;color:#fff;cursor:pointer;
    transition:background .15s;}
  .tour-btn-next:hover{background:#059669;}
  .tour-skip{
    background:none;border:none;cursor:pointer;
    font-family:'Inter',sans-serif;font-size:.8rem;
    font-weight:600;color:#aaa;letter-spacing:.02em;
    text-transform:uppercase;padding:2px 6px;}
  .tour-skip:hover{color:#888;}
  
  #wh-net-banner {
    position:fixed;
    bottom:calc(76px + env(safe-area-inset-bottom,0px));
    left:12px;right:12px;
    z-index:8900;
    background:#1e293b;
    color:#94a3b8;
    font-size:.76rem;font-family:'Inter',sans-serif;font-weight:500;
    letter-spacing:.01em;text-align:center;
    padding:7px 16px;
    border-radius:8px;
    box-shadow:0 4px 16px rgba(0,0,0,0.35);
    transform:translateY(20px);
    opacity:0;
    transition:transform .3s cubic-bezier(.4,0,.2,1), opacity .3s ease;
    pointer-events:none;
  }
  #wh-net-banner.wh-net-visible {
    transform:translateY(0);
    opacity:1;
    pointer-events:auto;
  }
  #wh-net-banner .wh-net-dot {
    display:inline-block;width:6px;height:6px;border-radius:50%;
    background:#F59E0B;margin-right:6px;vertical-align:middle;
    animation:wh-dot-pulse 1.5s ease-in-out infinite;
  }
  @keyframes wh-dot-pulse { 0%,100%{opacity:1} 50%{opacity:.35} }
