/* UnitDime R12R4: mobile hero alignment + visible animated floaters + lightweight polish. */
body.mp-public .mp-hero {
  isolation:isolate;
  background:
    radial-gradient(ellipse at 72% 18%, rgba(198,179,255,.20), transparent 38%),
    radial-gradient(ellipse at 12% 86%, rgba(255,215,192,.12), transparent 42%),
    radial-gradient(ellipse at 82% 80%, rgba(180,238,227,.11), transparent 32%),
    linear-gradient(115deg, rgba(255,255,255,.97) 0%, rgba(250,247,255,.98) 56%, rgba(247,250,255,.96) 100%),
    #faf9ff !important;
}
body.mp-public .mp-hero .mp-hero-grid-bg {
  opacity:.50;
  background-image:
    linear-gradient(rgba(141,119,212,.072) 1px, transparent 1px),
    linear-gradient(90deg, rgba(141,119,212,.072) 1px, transparent 1px);
  background-size:38px 38px;
  background-position:center center;
  -webkit-mask-image:radial-gradient(ellipse at 54% 40%, rgba(0,0,0,.98) 8%, rgba(0,0,0,.56) 47%, transparent 84%);
  mask-image:radial-gradient(ellipse at 54% 40%, rgba(0,0,0,.98) 8%, rgba(0,0,0,.56) 47%, transparent 84%);
}
body.mp-public .mp-hero-copy,
body.mp-public .mp-hero-visual { position:relative; z-index:1; }
body.mp-public .mp-hero-copy .mp-pill { box-shadow:0 4px 14px rgba(111,79,208,.08); }
body.mp-public .mp-hero .mp-deck { filter:none; }
body.mp-public .mp-hero .mp-deck-card { box-shadow:0 18px 42px rgba(73,44,147,.10); }
body.mp-public .mp-hero .mp-deck-glow { background:radial-gradient(ellipse, rgba(170,149,232,.17), transparent 68%); }

/* Buttons */
body.mp-public .mp-header .mp-login{
  font-weight:720; padding:10px 14px; border-radius:12px;
  background:linear-gradient(#fff,#f9f7ff); box-shadow:0 4px 12px rgba(100,65,194,.05);
}
body.mp-public .mp-header .mp-login:hover,
body.mp-public .mp-header .mp-login:focus-visible{ color:#6840cb; background:#f4f0ff; }
body.mp-public .mp-button:not(.mp-secondary){
  background:linear-gradient(132deg,#7245e8,#8a52ea); color:#fff;
  box-shadow:0 10px 20px rgba(100,65,194,.16), inset 0 1px 0 rgba(255,255,255,.18);
}
body.mp-public .mp-button.mp-secondary{
  background:linear-gradient(#fff,#faf8ff); border-color:#ddd0fa;
  box-shadow:0 4px 12px rgba(100,65,194,.06);
}
@media (hover:hover) and (prefers-reduced-motion:no-preference){
  body.mp-public .mp-button:hover{ transform:translateY(-1px); }
}
body.mp-public .mp-button{ transition:transform .16s ease-out, box-shadow .16s ease-out; }

/* Floaters */
body.mp-public .mp-hero-floaters{ position:absolute; inset:0; pointer-events:none; z-index:4; }
body.mp-public .mp-hero-accent{
  position:absolute; display:grid; place-items:center; width:56px; height:56px;
  border-radius:16px; border:1px solid rgba(142,118,216,.22);
  background:linear-gradient(145deg,rgba(255,255,255,.98),rgba(241,234,255,.98));
  box-shadow:0 10px 22px rgba(77,59,142,.14), inset 0 1px 0 rgba(255,255,255,.95);
}
body.mp-public .mp-hero-accent-icon{ display:grid; place-items:center; width:36px; height:36px; border-radius:11px; }
body.mp-public .mp-hero-accent-icon svg{ width:22px; height:22px; stroke-width:1.9; }
body.mp-public .mp-hero-accent-copy{ display:none; }
body.mp-public .mp-hero-accent-books{ left:-5%; top:22%; color:#7750d9; transform:rotate(-12deg); }
body.mp-public .mp-hero-accent-books .mp-hero-accent-icon{ background:#ede4ff; }
body.mp-public .mp-hero-accent-progress{ left:-9%; top:66%; color:#238b7a; transform:rotate(9deg); background:linear-gradient(145deg,#fff,#e7faf3); }
body.mp-public .mp-hero-accent-progress .mp-hero-accent-icon{ background:#d8f5eb; }
body.mp-public .mp-hero-accent-revise{ right:-3%; top:40%; color:#b87931; transform:rotate(11deg); background:linear-gradient(145deg,#fff,#fff1df); }
body.mp-public .mp-hero-accent-revise .mp-hero-accent-icon{ background:#ffedd3; }
body.mp-public .mp-hero-orb{ display:none; }
@media (prefers-reduced-motion:no-preference){
  html:not(.mp-reduce-motion) body.mp-public .mp-hero-accent-books{ animation:ud12r4a 7.3s ease-in-out infinite; }
  html:not(.mp-reduce-motion) body.mp-public .mp-hero-accent-progress{ animation:ud12r4b 8.1s ease-in-out infinite; }
  html:not(.mp-reduce-motion) body.mp-public .mp-hero-accent-revise{ animation:ud12r4c 8.9s ease-in-out infinite; }
}
@keyframes ud12r4a{0%,100%{transform:translate3d(0,0,0) rotate(-12deg)}50%{transform:translate3d(0,-8px,0) rotate(-9deg)}}
@keyframes ud12r4b{0%,100%{transform:translate3d(0,0,0) rotate(9deg)}50%{transform:translate3d(0,-8px,0) rotate(6deg)}}
@keyframes ud12r4c{0%,100%{transform:translate3d(0,0,0) rotate(11deg)}50%{transform:translate3d(0,-7px,0) rotate(8deg)}}
html.mp-reduce-motion body.mp-public .mp-hero-accent{ animation:none!important; }

/* Preserve fast one-time section reveals */
body.mp-public .mp6-reveal-pending{ opacity:.94; transform:translate3d(0,3px,0); transition:opacity .15s ease-out, transform .15s ease-out; }
body.mp-public .mp6-reveal-pending.mp6-reveal-shown{ opacity:1; transform:translate3d(0,0,0); }

@media(max-width:1024px){
  body.mp-public .mp-hero .mp-hero-grid-bg{ background-size:34px 34px; }
  body.mp-public .mp-hero-accent{ width:44px; height:44px; border-radius:13px; }
  body.mp-public .mp-hero-accent-icon{ width:31px; height:31px; }
  body.mp-public .mp-hero-accent-icon svg{ width:19px; height:19px; }
  body.mp-public .mp-hero-accent-books{ left:3%; top:15%; }
  body.mp-public .mp-hero-accent-progress{ left:1%; top:58%; }
  body.mp-public .mp-hero-accent-revise{ right:2%; top:19%; }
}
@media(max-width:700px){
  body.mp-public .mp-hero{ padding-top:10px; }
  body.mp-public .mp-hero .mp-hero-grid-bg{ background-size:34px 34px; opacity:.40; }
  body.mp-public .mp-hero-copy{ text-align:left; }
  body.mp-public .mp-hero-copy .mp-pill,
  body.mp-public .mp-hero-copy .mp-lead{ margin-inline:0; }
  body.mp-public .mp-hero-copy h1{ max-width:8.1ch; letter-spacing:-.045em; line-height:.92; }
  body.mp-public .mp-hero-copy .mp-lead{ max-width:none; }
  body.mp-public .mp-hero-copy .mp-actions{ justify-content:flex-start; gap:14px; }
  body.mp-public .mp-hero-proof{ justify-content:flex-start; gap:12px 18px; flex-wrap:wrap; }
  body.mp-public .mp-hero-visual{ margin-top:6px; }
  body.mp-public .mp-hero-floaters{
    position:absolute; inset:auto 0 auto 0; top:-52px; height:58px; display:block; pointer-events:none;
  }
  body.mp-public .mp-hero-accent{ width:42px; height:42px; border-radius:13px; }
  body.mp-public .mp-hero-accent-icon{ width:30px; height:30px; border-radius:9px; }
  body.mp-public .mp-hero-accent-icon svg{ width:18px; height:18px; }
  body.mp-public .mp-hero-accent-books{ left:6%; top:6px; transform:rotate(-10deg); }
  body.mp-public .mp-hero-accent-progress{ left:38%; top:-2px; transform:rotate(4deg); }
  body.mp-public .mp-hero-accent-revise{ right:7%; top:7px; transform:rotate(9deg); display:grid; }
  body.mp-public .mp-button{ min-height:46px; }
}
@media(max-width:420px){
  body.mp-public .mp-hero-copy h1{ max-width:7.9ch; font-size:clamp(3.35rem, 14.4vw, 4.2rem); }
  body.mp-public .mp-hero-copy .mp-actions{ gap:12px; }
  body.mp-public .mp-hero-accent-books{ left:4%; }
  body.mp-public .mp-hero-accent-progress{ left:39%; }
  body.mp-public .mp-hero-accent-revise{ right:4%; }
}
@media(prefers-reduced-motion:reduce){
  body.mp-public .mp-hero-accent{ animation:none!important; }
  body.mp-public .mp6-reveal-pending{ opacity:1; transform:none; transition:none; }
}
