
  :root{
    --md-primary:#1A73E8; --md-primary-d:#1457B8; --on-primary:#FFFFFF;
    --md-primary-c:#D3E3FD; --on-primary-c:#06245C;
    --md-sec:#1E8E3E; --md-sec-c:#CEEAD6; --on-sec-c:#0A3818;
    --md-tert:#E8710A; --md-tert-c:#FEE3C4; --on-tert-c:#5A2B00;
    --md-red:#EA4335; --md-red-c:#FBD9D6; --on-red-c:#5C0B06;
    --md-yellow:#F9AB00; --md-yellow-c:#FEF0C7; --on-yellow-c:#4A3200;
    --surface:#FFFFFF; --surface-tint:#FBFAFF; --sc:#F0EEFA; --sc-high:#E8E5F6;
    --on-surface:#16131F; --on-variant:#494456; --muted:#6B6577;
    --outline:#CFCAD9; --outline-v:#E8E4F1;
    font-family:'Roboto','Roboto Fallback',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif;
  }
  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{margin:0;background:var(--surface-tint);color:var(--on-surface);-webkit-font-smoothing:antialiased;overflow-x:hidden;}
  ::selection{background:var(--md-yellow);color:#3a2a00;}
  @keyframes revealUp{from{opacity:0;transform:translateY(54px);}to{opacity:1;transform:translateY(0);}}
  @keyframes revealPop{from{opacity:0;transform:scale(.88) rotate(-1.5deg);}to{opacity:1;transform:scale(1) rotate(0);}}
  @keyframes floatA{0%,100%{transform:translateY(0) rotate(0);}50%{transform:translateY(-20px) rotate(2deg);}}
  @keyframes floatB{0%,100%{transform:translateY(0) rotate(0);}50%{transform:translateY(16px) rotate(-2deg);}}
  @keyframes flA{0%,100%{transform:translate(0,0) rotate(0);}50%{transform:translate(10px,-26px) rotate(8deg);}}
  @keyframes flB{0%,100%{transform:translate(0,0) rotate(0);}33%{transform:translate(-12px,-16px) rotate(-7deg);}66%{transform:translate(14px,12px) rotate(6deg);}}
  @keyframes flC{0%,100%{transform:translate(0,0) rotate(0) scale(1);}50%{transform:translate(0,-22px) rotate(-10deg) scale(1.06);}}
  @keyframes spinLoose{from{transform:rotate(0);}to{transform:rotate(360deg);}}
  @keyframes blobMorph{0%,100%{border-radius:42% 58% 63% 37% / 41% 44% 56% 59%;}50%{border-radius:62% 38% 34% 66% / 58% 62% 38% 42%;}}
  @keyframes blobMorph2{0%,100%{border-radius:58% 42% 47% 53% / 60% 45% 55% 40%;}50%{border-radius:38% 62% 63% 37% / 41% 58% 42% 59%;}}
  @keyframes spinSlow{from{transform:rotate(0);}to{transform:rotate(360deg);}}
  @keyframes parUp{to{transform:translateY(-260px);}}
  @keyframes parUpSm{to{transform:translateY(-130px);}}
  @keyframes parDown{to{transform:translateY(180px);}}
  @keyframes parDownSm{to{transform:translateY(90px);}}
  @keyframes parRot{to{transform:rotate(120deg);}}
  @keyframes ripple{to{transform:scale(2.6);opacity:0;}}
  @keyframes gradientShift{0%,100%{background-position:0% 50%;}50%{background-position:100% 50%;}}
  @keyframes marquee{from{transform:translateX(0);}to{transform:translateX(-50%);}}
  @keyframes parStarsUp{to{transform:translateY(-200px);}}
  @keyframes parDrift{to{transform:translate(140px,-220px) rotate(60deg);}}
  @keyframes parDriftRev{to{transform:translate(-130px,-200px) rotate(-70deg);}}
  @keyframes parZoom{to{transform:translateY(-160px) scale(1.5);}}
  @keyframes parTilt{to{transform:translateY(-180px) rotate(180deg);}}
  @keyframes sway{0%,100%{transform:translateX(0) rotate(0);}50%{transform:translateX(14px) rotate(8deg);}}
  @keyframes swayRev{0%,100%{transform:translateX(0) rotate(0);}50%{transform:translateX(-12px) rotate(-7deg);}}
  @keyframes orbitDot{from{transform:rotate(0) translateX(var(--orb,120px)) rotate(0);}to{transform:rotate(360deg) translateX(var(--orb,120px)) rotate(-360deg);}}
  @keyframes drift{from{transform:translateY(54px);}to{transform:translateY(-54px);}}
  @keyframes driftB{from{transform:translateY(-38px);}to{transform:translateY(38px);}}
  @keyframes tiltIn{from{opacity:0;transform:perspective(1200px) rotateY(-9deg) translateY(40px);}to{opacity:1;transform:perspective(1200px) rotateY(0) translateY(0);}}
  @keyframes wordRoll{0%,22%{transform:translateY(0);}28%,47%{transform:translateY(-1.12em);}53%,72%{transform:translateY(-2.24em);}78%,97%{transform:translateY(-3.36em);}100%{transform:translateY(-3.36em);}}
  @keyframes pulseRing{0%{box-shadow:0 14px 40px rgba(0,0,0,.4),0 0 0 0 rgba(255,255,255,.5);}70%{box-shadow:0 14px 40px rgba(0,0,0,.4),0 0 0 24px rgba(255,255,255,0);}100%{box-shadow:0 14px 40px rgba(0,0,0,.4),0 0 0 0 rgba(255,255,255,0);}}
  @media (prefers-reduced-motion: reduce){*{animation:none !important;}}
  .rv{animation:revealUp .9s cubic-bezier(.2,.7,.3,1) both;animation-timeline:view();animation-range:entry 0% entry 76%;}
  .pop{animation:revealPop .9s cubic-bezier(.2,.8,.3,1) both;animation-timeline:view();animation-range:entry 0% entry 70%;}
  a{color:inherit;text-decoration:none;}
  .btn{transition:box-shadow .2s ease,transform .14s ease,background .2s ease;position:relative;overflow:hidden;cursor:pointer;}
  .btn::before{content:"";position:absolute;top:0;left:-130%;width:55%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.5),transparent);transform:skewX(-18deg);transition:left .55s ease;pointer-events:none;}
  .btn:hover::before{left:170%;}
  .btn:hover{transform:translateY(-2px);}
  .btn:active{transform:scale(.97);}
  .tile{transition:transform .3s cubic-bezier(.2,.8,.3,1),box-shadow .3s ease;}
  .tile:hover{transform:translateY(-8px) scale(1.012);box-shadow:0 26px 56px rgba(22,19,31,.16);}
  .plift{transition:box-shadow .25s ease;will-change:transform,opacity;}
  .plift:hover{box-shadow:0 26px 56px rgba(22,19,31,.16);}
  .nlnk{position:relative;}
  .nlnk::after{content:"";position:absolute;left:0;bottom:-5px;width:100%;height:2.5px;border-radius:2px;background:var(--md-primary);transform:scaleX(0);transform-origin:left;transition:transform .24s ease;}
  .nlnk:hover::after{transform:scaleX(1);}
