/* MAYDAY MIND · Landing Effects Patch
   Scoped to landing-only class names to avoid altering authenticated screens. */

.landing-fx-layer{position:fixed;inset:0;pointer-events:none;z-index:1;overflow:hidden}
.landing-grain{position:absolute;inset:-30px;opacity:.18;mix-blend-mode:overlay;background-image:radial-gradient(rgba(255,255,255,.52) .48px,transparent .55px);background-size:3px 3px;animation:mmGrainDrift 10s linear infinite}
.landing-scanlines{position:absolute;inset:0;opacity:.19;background:repeating-linear-gradient(180deg,rgba(255,255,255,.028) 0,transparent 1px,transparent 4px)}
@keyframes mmGrainDrift{0%{transform:translate3d(0,0,0)}50%{transform:translate3d(14px,-8px,0)}100%{transform:translate3d(-8px,11px,0)}}

/* Keep actual application content above the VHF texture layer. */
.app-shell{position:relative;z-index:2}
.landing-hero{position:relative;isolation:isolate;overflow:hidden}
.landing-hero:before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,transparent 49.8%,rgba(103,232,249,.025) 50%,transparent 50.2%),linear-gradient(180deg,transparent 49.8%,rgba(103,232,249,.02) 50%,transparent 50.2%);background-size:120px 120px;mask-image:linear-gradient(to bottom,rgba(0,0,0,.8),transparent 78%);z-index:-1}

.landing-glow{position:absolute;border-radius:50%;filter:blur(78px);pointer-events:none;z-index:-2;will-change:transform;animation:mmGlowFloat 8s ease-in-out infinite alternate}
.landing-glow-cyan{width:520px;height:520px;background:rgba(103,232,249,.12);top:-160px;right:-110px}
.landing-glow-green{width:430px;height:430px;background:rgba(99,245,166,.09);bottom:-160px;right:22% ;animation-delay:-3s}
.landing-glow-amber{width:320px;height:320px;background:rgba(255,209,102,.07);top:22%;left:-140px;animation-delay:-5s}
@keyframes mmGlowFloat{from{transform:translate3d(-10px,-8px,0) scale(.96)}to{transform:translate3d(22px,18px,0) scale(1.06)}}

.landing-rise{opacity:0;transform:translateY(22px);animation:mmHeroRise .72s cubic-bezier(.2,.8,.2,1) forwards;animation-delay:var(--delay,0s)}
@keyframes mmHeroRise{to{opacity:1;transform:none}}
.landing-title span{display:block}
.landing-title-muted{color:#93b9c8!important}
.landing-title em{font-style:normal;color:var(--cyan);text-shadow:0 0 24px rgba(103,232,249,.2)}

.landing-primary{position:relative;overflow:hidden}
.landing-primary:before{content:"";position:absolute;top:-90%;left:-45%;width:38%;height:280%;transform:rotate(24deg);background:linear-gradient(90deg,transparent,rgba(255,255,255,.58),transparent);transition:left .6s ease}
.landing-primary:hover:before{left:120%}

.landing-radar-card{overflow:hidden;transition:transform .35s ease,border-color .35s ease,box-shadow .35s ease}
.landing-radar-card:hover{transform:translateY(-5px);border-color:rgba(103,232,249,.48);box-shadow:0 32px 90px rgba(0,0,0,.46),0 0 44px rgba(103,232,249,.075)}
.landing-radar{box-shadow:inset 0 0 110px #000,0 0 38px rgba(99,245,166,.055)}
.landing-radar:before,.landing-radar:after{z-index:1}
.landing-radar-grid{position:absolute;inset:0;border-radius:50%;background:repeating-radial-gradient(circle at center,transparent 0 24px,rgba(99,245,166,.022) 25px,transparent 26px),radial-gradient(circle at center,rgba(103,232,249,.035),transparent 58%);opacity:.95}
.landing-radar-logo{display:none!important}

/* Outer bearing ticks: purely decorative, like a compact ATC scope. */
.radar-bearing-ring{position:absolute;inset:2.2%;z-index:2;border-radius:50%;background:repeating-conic-gradient(from -1deg,rgba(103,232,249,.22) 0deg 1deg,transparent 1deg 9deg);-webkit-mask:radial-gradient(circle,transparent 0 91.5%,#000 91.8% 94%,transparent 94.3%);mask:radial-gradient(circle,transparent 0 91.5%,#000 91.8% 94%,transparent 94.3%);opacity:.58}

/* A true sweep arm: one line starts at the exact center and rotates 360 degrees. */
.radar-sweep-line{position:absolute;z-index:7;left:50%;top:50%;width:49%;height:2px;transform-origin:0 50%;transform:rotate(0deg);background:linear-gradient(90deg,rgba(99,245,166,1) 0%,rgba(99,245,166,.9) 68%,rgba(103,232,249,.38) 100%);box-shadow:0 0 5px rgba(99,245,166,.95),0 0 16px rgba(99,245,166,.52);will-change:transform;pointer-events:none}
.radar-sweep-line:before{content:"";position:absolute;z-index:-1;left:0;top:-54px;width:100%;height:108px;clip-path:polygon(0 50%,100% 4%,100% 50%);background:linear-gradient(90deg,rgba(99,245,166,.14),rgba(99,245,166,.028) 72%,transparent);filter:blur(1px);opacity:.82}
.radar-sweep-line:after{content:"";position:absolute;right:-3px;top:50%;width:6px;height:6px;border-radius:50%;transform:translateY(-50%);background:var(--green);box-shadow:0 0 8px var(--green),0 0 20px rgba(99,245,166,.8)}
.radar-sweep-glow{position:absolute;left:-4px;top:50%;width:9px;height:9px;border-radius:50%;transform:translateY(-50%);background:#a8ffd3;box-shadow:0 0 10px var(--green),0 0 30px rgba(99,245,166,.66)}

.radar-center-hub{position:absolute;z-index:9;left:50%;top:50%;width:18px;height:18px;border:1px solid rgba(103,232,249,.8);border-radius:50%;transform:translate(-50%,-50%);background:#07151e;box-shadow:0 0 0 5px rgba(103,232,249,.035),0 0 20px rgba(103,232,249,.32)}
.radar-center-hub:before,.radar-center-hub:after{content:"";position:absolute;background:rgba(103,232,249,.5)}
.radar-center-hub:before{width:26px;height:1px;left:50%;top:50%;transform:translate(-50%,-50%)}
.radar-center-hub:after{height:26px;width:1px;left:50%;top:50%;transform:translate(-50%,-50%)}
.radar-center-hub i{position:absolute;inset:5px;border-radius:50%;background:var(--cyan);box-shadow:0 0 9px rgba(103,232,249,.8)}

.radar-contact-layer{position:absolute;inset:0;z-index:6;pointer-events:none}
.radar-contact{--contact-color:var(--green);position:absolute;width:10px;height:10px;transform:translate(-50%,-50%);opacity:.24;transition:opacity .18s ease,filter .18s ease;filter:saturate(.75)}
.radar-contact-dot{position:absolute;inset:1px;border-radius:50%;background:var(--contact-color);box-shadow:0 0 7px var(--contact-color)}
.radar-contact-dot:before,.radar-contact-dot:after{content:"";position:absolute;inset:50%;width:10px;height:1px;background:color-mix(in srgb,var(--contact-color) 45%,transparent);transform:translate(-50%,-50%)}
.radar-contact-dot:after{transform:translate(-50%,-50%) rotate(90deg)}
.radar-contact-pulse{position:absolute;left:50%;top:50%;width:10px;height:10px;border:1px solid var(--contact-color);border-radius:50%;transform:translate(-50%,-50%) scale(.65);opacity:0}
.radar-contact-tag{position:absolute;left:15px;top:-17px;min-width:92px;padding:5px 7px 5px;border-left:2px solid var(--contact-color);border-radius:3px;background:rgba(3,14,20,.78);backdrop-filter:blur(5px);box-shadow:0 7px 22px rgba(0,0,0,.22);opacity:0;transform:translateX(-4px);transition:opacity .18s ease,transform .18s ease;white-space:nowrap;text-align:left}
.radar-contact.tag-left .radar-contact-tag{left:auto;right:15px;border-left:0;border-right:2px solid var(--contact-color);text-align:right;transform:translateX(4px)}
.radar-contact.tag-up .radar-contact-tag{top:auto;bottom:16px}
.radar-contact-tag b{display:block;color:var(--contact-color);font:800 9.5px/1.15 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;letter-spacing:.08em;text-shadow:0 0 8px color-mix(in srgb,var(--contact-color) 42%,transparent)}
.radar-contact-tag small{display:block;margin-top:3px;color:#7897a4;font:700 7px/1.1 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;letter-spacing:.065em}
.radar-contact.is-critical{--contact-color:#ff6b78}.radar-contact.is-warning{--contact-color:#ffd166}.radar-contact.is-info{--contact-color:#67e8f9}.radar-contact.is-guard{--contact-color:#63f5a6}
.radar-contact.is-hit{opacity:1;filter:none}
.radar-contact.is-hit .radar-contact-tag{opacity:1;transform:translateX(0)}
.radar-contact.is-hit .radar-contact-pulse{animation:mmRadarPulse 1.15s ease-out 2}
@keyframes mmRadarPulse{0%{opacity:.9;transform:translate(-50%,-50%) scale(.75)}100%{opacity:0;transform:translate(-50%,-50%) scale(4.4)}}

.radar-scan-caption{position:absolute;z-index:5;left:5.5%;top:5.2%;display:flex;flex-direction:column;gap:3px;pointer-events:none;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;letter-spacing:.09em;text-shadow:0 1px 3px #000}
.radar-scan-caption span{color:#5f8290;font-size:7px}.radar-scan-caption b{color:rgba(99,245,166,.72);font-size:7px;font-weight:800}

.landing-waveform i{transform-origin:center;animation:mmWave 1.18s ease-in-out infinite alternate;animation-delay:var(--wave-delay,0s)}
@keyframes mmWave{from{transform:scaleY(.55);opacity:.54}to{transform:scaleY(1.05);opacity:1}}
.landing-decode{min-height:22px;margin-top:4px;text-align:center;color:var(--green);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;font-weight:700;letter-spacing:.055em;text-shadow:0 0 12px rgba(99,245,166,.18)}
.landing-decode-sub{text-align:center;margin-top:4px;color:#567789;font-size:9px;letter-spacing:.12em;text-transform:uppercase}

.landing-reveal{opacity:0;transform:translateY(26px);transition:opacity .75s ease,transform .75s cubic-bezier(.2,.75,.2,1)}
.landing-reveal.is-visible{opacity:1;transform:none}
.landing-stagger .landing-feature-card{opacity:0;transform:translateY(15px);transition:transform .55s ease,opacity .55s ease,border-color .25s ease,box-shadow .25s ease}
.landing-reveal.is-visible .landing-feature-card{opacity:1;transform:none}
.landing-reveal.is-visible .landing-feature-card:nth-child(1){transition-delay:.06s}
.landing-reveal.is-visible .landing-feature-card:nth-child(2){transition-delay:.13s}
.landing-reveal.is-visible .landing-feature-card:nth-child(3){transition-delay:.20s}
.landing-reveal.is-visible .landing-feature-card:nth-child(4){transition-delay:.27s}
.landing-feature-card{position:relative;overflow:hidden}
.landing-feature-card:before{content:"";position:absolute;width:110px;height:110px;border-radius:50%;right:-55px;top:-55px;background:radial-gradient(circle,rgba(103,232,249,.10),transparent 68%);opacity:0;transition:opacity .25s ease}
.landing-feature-card:hover{transform:translateY(-6px)!important;border-color:rgba(103,232,249,.42);box-shadow:0 20px 52px rgba(0,0,0,.22)}
.landing-feature-card:hover:before{opacity:1}

.landing-modes-section{position:relative;overflow:hidden}
.landing-modes-section:before{content:"";position:absolute;width:500px;height:500px;border-radius:50%;right:-260px;top:-160px;background:rgba(99,245,166,.045);filter:blur(55px);pointer-events:none}
.landing-mode-card{transition:transform .3s ease,border-color .3s ease,box-shadow .3s ease}
.landing-mode-card:hover{transform:translateY(-4px);border-color:rgba(103,232,249,.3);box-shadow:0 25px 60px rgba(0,0,0,.22)}
.landing-mode-training{background:linear-gradient(135deg,rgba(99,245,166,.08),var(--panel))!important}
.landing-mode-training strong{color:var(--green)!important}
.landing-mode-drive{background:linear-gradient(135deg,rgba(255,209,102,.07),var(--panel))!important}
.landing-mode-drive strong{color:var(--amber)!important}

.landing-cta-box{position:relative;overflow:hidden;transition:transform .3s ease,border-color .3s ease}
.landing-cta-box:hover{transform:translateY(-3px);border-color:rgba(103,232,249,.45)}
.landing-cta-box>*{position:relative;z-index:2}
.landing-cta-glow{position:absolute!important;z-index:0!important;width:330px;height:330px;right:-100px;top:-160px;border-radius:50%;background:rgba(103,232,249,.11);filter:blur(58px);animation:mmCtaGlow 5.5s ease-in-out infinite alternate}
@keyframes mmCtaGlow{to{transform:translate(-34px,26px) scale(1.08)}}

/* Accessibility: stop decorative motion when the operating system requests it. */
@media (prefers-reduced-motion:reduce){
  .landing-grain,.landing-glow,.landing-rise,.radar-contact-pulse,.landing-waveform i,.landing-cta-glow{animation:none!important}
  .landing-rise,.landing-reveal,.landing-stagger .landing-feature-card{opacity:1!important;transform:none!important;transition:none!important}
  .landing-primary:before{display:none}
}

@media(max-width:960px){
  .landing-glow-cyan{right:-260px}.landing-glow-green{right:-150px}
}
@media(max-width:720px){
  .landing-fx-layer{opacity:.72}
  .landing-decode{font-size:10.5px}
  .radar-contact-tag{min-width:78px;padding:4px 6px}
  .radar-contact-tag b{font-size:8.5px}.radar-contact-tag small{font-size:6.5px}
}

/* ==========================================================================
   MAYDAY MIND · Responsive refinement v1.2.2
   Mobile-first corrections for the landing hero and dynamic radar.
   ========================================================================== */

@media (max-width:720px){
  .landing-hero{
    padding:28px 0 48px!important;
    overflow:hidden;
  }
  .landing-hero .container{
    width:min(100% - 24px, 560px);
  }
  .landing-hero .hero-grid{
    gap:22px!important;
    align-items:start;
  }
  .landing-hero-copy{min-width:0}
  .landing-hero .eyebrow{
    font-size:10px;
    line-height:1.45;
    letter-spacing:.12em;
    margin-bottom:8px;
  }
  .landing-hero .landing-title{
    font-size:clamp(38px,11vw,54px)!important;
    line-height:1.01!important;
    letter-spacing:-.05em!important;
    margin-bottom:16px!important;
  }
  .landing-hero .hero-copy>p{
    font-size:14.5px!important;
    line-height:1.58!important;
    max-width:100%;
  }
  .landing-hero .actions{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    gap:9px!important;
    margin-top:18px!important;
  }
  .landing-hero .actions .btn{
    width:100%;
    min-width:0;
    padding:11px 9px;
    font-size:11.5px;
    line-height:1.15;
    text-align:center;
    white-space:normal;
  }

  /* The old app.css stacks these vertically. On a phone they work much better
     as a compact instrument/status strip. */
  .landing-hero .hero-kpis{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:0!important;
    margin:18px 0 0!important;
    border:1px solid rgba(103,232,249,.15);
    border-radius:15px;
    overflow:hidden;
    background:linear-gradient(180deg,rgba(11,28,40,.78),rgba(7,20,29,.68));
    box-shadow:inset 0 1px 0 rgba(255,255,255,.018);
  }
  .landing-hero .hero-kpis>div{
    min-width:0;
    border-top:0!important;
    border-left:1px solid rgba(103,232,249,.12);
    padding:11px 6px!important;
    text-align:center;
  }
  .landing-hero .hero-kpis>div:first-child{border-left:0}
  .landing-hero .hero-kpis strong{
    font-size:15px!important;
    line-height:1.1;
    letter-spacing:-.02em;
  }
  .landing-hero .hero-kpis span{
    display:block;
    margin-top:4px;
    font-size:8.5px!important;
    line-height:1.25;
    white-space:normal;
  }

  .landing-radar-card{
    width:min(100%,440px)!important;
    max-width:440px!important;
    margin:2px auto 0!important;
    padding:14px!important;
    border-radius:23px!important;
  }
  .landing-radar{
    width:min(100%,380px);
    margin-inline:auto;
  }
  .radar-scan-caption{
    left:6%;
    top:5.5%;
    gap:2px;
  }
  .radar-scan-caption span,
  .radar-scan-caption b{font-size:6px!important}
  .radar-contact{width:8px;height:8px}
  .radar-contact-tag{
    min-width:68px!important;
    max-width:105px;
    padding:4px 5px!important;
    left:12px;
    top:-14px;
    backdrop-filter:blur(4px);
  }
  .radar-contact.tag-left .radar-contact-tag{right:12px}
  .radar-contact-tag b{
    font-size:7.5px!important;
    letter-spacing:.055em!important;
  }
  .radar-contact-tag small{
    max-width:96px;
    overflow:hidden;
    text-overflow:ellipsis;
    font-size:5.6px!important;
    letter-spacing:.035em!important;
  }
  .radar-center-hub{width:16px;height:16px}
  .radar-sweep-line{height:1.5px}
  .radar-sweep-line:before{top:-42px;height:84px}

  .landing-radar-card .radio-strip{
    margin-top:12px!important;
    padding:10px 10px!important;
    gap:7px;
    border-radius:11px!important;
    font-size:8.5px!important;
    letter-spacing:.085em!important;
  }
  .landing-radar-card .radio-strip strong{
    font-size:clamp(18px,6vw,23px)!important;
    letter-spacing:.055em!important;
    white-space:nowrap;
  }
  .landing-radar-card .waveform{
    height:50px!important;
    margin-top:10px!important;
    gap:2px!important;
  }
  .landing-radar-card .waveform i{min-width:1px!important}
  .landing-decode{
    min-height:2.7em!important;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:0 5px;
    margin-top:1px!important;
    font-size:clamp(8.5px,2.55vw,10px)!important;
    line-height:1.35;
    letter-spacing:.035em!important;
    white-space:normal;
    overflow-wrap:anywhere;
  }
  .landing-decode-sub{
    margin-top:2px!important;
    font-size:7px!important;
    line-height:1.35;
    letter-spacing:.085em!important;
    padding-inline:4px;
  }
  .mm-radio-brand{
    gap:5px!important;
    margin-top:6px!important;
    font-size:6.6px!important;
    letter-spacing:.09em!important;
    white-space:nowrap;
  }
  .mm-radio-brand img{width:15px!important;height:15px!important}
}

@media (max-width:520px){
  .landing-hero .container{width:min(100% - 20px,460px)}
  .landing-hero{padding-top:22px!important}
  .landing-brand-lockup{margin-bottom:11px!important}
  .landing-hero .landing-title{
    font-size:clamp(35px,11vw,46px)!important;
  }
  .landing-hero .hero-copy>p{font-size:13.5px!important}
  .landing-radar-card{
    width:min(100%,390px)!important;
    max-width:390px!important;
    padding:11px!important;
    border-radius:21px!important;
  }
  .landing-radar{width:min(100%,348px)}
  .radar-bearing-ring{inset:2.8%}
  .radar-contact-tag small{display:none!important}
  .radar-contact-tag{
    min-width:48px!important;
    max-width:76px!important;
    padding:3px 4px!important;
    border-width:1px!important;
  }
  .radar-contact-tag b{font-size:7px!important}
  .radar-contact.is-hit .radar-contact-pulse{animation-duration:.95s}
  .radar-scan-caption span{display:none}
  .radar-scan-caption b{font-size:5.8px!important;letter-spacing:.07em}
  .landing-radar-card .radio-strip{padding:9px 8px!important}
  .landing-radar-card .radio-strip>span{font-size:7.3px}
  .landing-radar-card .waveform{height:44px!important}
  .landing-decode{font-size:8.6px!important}
  .landing-decode-sub{font-size:6.5px!important}
  .mm-radio-brand span:last-child{display:none}
}

@media (max-width:390px){
  .landing-hero .actions{grid-template-columns:1fr!important}
  .landing-hero .hero-kpis strong{font-size:13.5px!important}
  .landing-hero .hero-kpis span{font-size:7.5px!important}
  .landing-radar-card{padding:9px!important;border-radius:19px!important}
  .landing-radar-card .radio-strip{gap:4px;font-size:7.3px!important}
  .landing-radar-card .radio-strip strong{font-size:18px!important}
  .radar-contact-tag{transform:scale(.92) translateX(-4px);transform-origin:left center}
  .radar-contact.tag-left .radar-contact-tag{transform-origin:right center}
  .radar-contact.is-hit .radar-contact-tag{transform:scale(.92) translateX(0)}
}
