* { margin: 0; padding: 0; box-sizing: border-box; -webkit-tap-highlight-color: transparent; }
:root {
  --pr-bg-primary: #ffffff;
  --pr-bg-secondary: #f8faff;
  --pr-bg-card: rgba(255,255,255,0.96);
  --pr-text-primary: #2c2416;
  --pr-text-secondary: #5c4a2e;
  --pr-text-muted: #8b7355;
  --pr-text-faint: #a89578;
  --pr-accent-gold: #c4a96a;
  --pr-accent-green: #4a7c59;
  --pr-accent-red: #dc2626;
  --pr-accent-amber: #f59e0b;
  --pr-border: #e8e0d4;
  --pr-border-light: #f0ebe3;
}
html, body { height: 100%; width: 100%; overflow: hidden; }
#root { height: 100%; width: 100%; overflow: hidden; padding-left: env(safe-area-inset-left); padding-right: env(safe-area-inset-right); }
@supports (height: 100dvh) { html, body, #root { height: 100dvh; } }
body {
  background: #075de5;
  overscroll-behavior: none;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
#primora-launch {
  position: fixed;
  inset: 0;
  z-index: 99999;
  display: flex;
  align-items: center;
  justify-content: center;
  background: radial-gradient(circle at 50% 34%, #1672ff 0%, #075de5 46%, #0348c8 100%);
  color: #ffffff;
  font-family: "Arial Rounded MT Bold", "DM Sans", -apple-system, BlinkMacSystemFont, sans-serif;
  opacity: 1;
  transition: opacity 240ms ease, transform 240ms ease;
}
#primora-launch.primora-launch--leaving { opacity: 0; transform: scale(1.015); pointer-events: none; }
.primora-launch__content { text-align: center; transform: translateY(-2vh); }
.primora-launch__logo {
  display: block;
  width: 82px;
  height: 82px;
  margin: 0 auto 24px;
  border: 3px solid rgba(255,255,255,0.86);
  border-radius: 26px;
  object-fit: cover;
  box-shadow: 0 14px 34px rgba(0,35,110,0.28);
}
.primora-launch__mark { position: relative; display: inline-block; }
.primora-launch__name { font-size: clamp(34px, 10vw, 46px); line-height: 1; font-weight: 900; letter-spacing: 0.105em; text-shadow: 0 3px 16px rgba(0,40,130,0.18); }
.primora-launch__learning { margin-top: 12px; font-family: "DM Sans", -apple-system, sans-serif; font-size: 11px; line-height: 1; font-weight: 800; letter-spacing: 0.34em; text-transform: uppercase; color: rgba(255,255,255,0.82); }
.primora-launch__byline { margin-top: 17px; font-family: "DM Sans", -apple-system, sans-serif; font-size: 13px; line-height: 1.3; font-weight: 650; letter-spacing: 0.025em; color: rgba(255,255,255,0.88); }
.primora-launch__line { width: 74px; height: 3px; margin: 26px auto 0; border-radius: 99px; overflow: hidden; background: rgba(255,255,255,0.22); }
.primora-launch__line::after { content: ""; display: block; width: 42%; height: 100%; border-radius: inherit; background: #ffd43b; animation: primora-launch-progress 1.05s ease-in-out infinite; }
@keyframes primora-launch-progress { 0% { transform: translateX(-120%); } 100% { transform: translateX(340%); } }
@keyframes spin { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }
@keyframes primora-detail-pop { 0% { opacity: 0; transform: translateY(10px) scale(0.98); } 100% { opacity: 1; transform: translateY(0) scale(1); } }
@keyframes primora-confetti-fall { 0% { transform: translateY(-10px) rotate(0deg); opacity: 1; } 100% { transform: translateY(140px) rotate(360deg); opacity: 0; } }
@keyframes primora-img-skeleton { 0% { background-position: 100% 0; } 100% { background-position: 0 0; } }
*:focus-visible { outline: 2px solid #c4a96a; outline-offset: 2px; border-radius: 4px; }
@media (prefers-reduced-motion: reduce) {
  #primora-launch { transition: opacity 120ms linear; }
  .primora-launch__line::after { animation: none; width: 100%; }
  .primora-confetti-piece { animation: none !important; opacity: 0 !important; }
  .primora-img-skeleton { animation: none !important; background-position: 0 0 !important; }
  .primora-celebration-dialog { animation: none !important; }
  .primora-activity-card { transition: none !important; transform: none !important; }
}
