/* Login-only decoration. Home, portal workspaces and authentication controls are untouched. */
body.ncats-ui-login .pro-hero{isolation:isolate;position:relative;padding:158px 28px 148px;background:radial-gradient(ellipse at 8% 15%,#ffe9cd 0,transparent 42%),radial-gradient(ellipse at 92% 88%,#f8e1ed 0,transparent 42%),#f6f7fa!important}
body.ncats-ui-login .pro-shell{position:relative;z-index:2;box-shadow:0 28px 75px #30303012;border-radius:20px}
.ncats-login-scene{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none;background-image:radial-gradient(#98909e24 1px,transparent 1px);background-size:28px 28px;--scene-x:0px;--scene-y:0px;--scene-rx:0deg;--scene-ry:0deg}
.ncats-scene-depth{position:absolute;inset:0;transform:perspective(1400px) translate3d(var(--scene-x),var(--scene-y),0) rotateX(var(--scene-rx)) rotateY(var(--scene-ry));transform-style:preserve-3d;transition:transform .7s cubic-bezier(.2,.7,.2,1)}
.ncats-contest-position{position:absolute;width:238px;perspective:800px;--tile-tilt:-6deg;--tile-colour:#a44705;--tile-soft:#fff0da;--tile-shadow:#e5b779}
.ncats-contest-position--0{left:7%;top:48px}
.ncats-contest-position--1{left:calc(50% - 119px);top:30px;--tile-tilt:4deg;--tile-colour:#aa1c5f;--tile-soft:#fbe5f0;--tile-shadow:#dbadca}
.ncats-contest-position--2{right:7%;top:50px;--tile-tilt:7deg;--tile-colour:#176c59;--tile-soft:#dff5ee;--tile-shadow:#91cbbb}
.ncats-contest-position--3{left:17%;bottom:30px;--tile-tilt:5deg;--tile-colour:#a3264c;--tile-soft:#ffe6ec;--tile-shadow:#d4a3b0}
.ncats-contest-position--4{right:17%;bottom:28px;--tile-tilt:-5deg;--tile-colour:#7745a1;--tile-soft:#f1e8fa;--tile-shadow:#c1a6d9}
.ncats-contest-tile{display:flex;align-items:center;gap:12px;position:relative;padding:15px 17px;border:1px solid #fff;border-radius:18px;background:#ffffffeb;box-shadow:0 5px 0 var(--tile-shadow),0 18px 28px #52424e12;transform:rotateZ(var(--tile-tilt)) rotateY(-9deg);transform-style:preserve-3d;animation:ncats-contest-float 8s ease-in-out infinite;backface-visibility:hidden}
.ncats-contest-position--1 .ncats-contest-tile{animation-delay:-2.3s;animation-duration:9s}.ncats-contest-position--2 .ncats-contest-tile{animation-delay:-4.7s;animation-duration:10s}.ncats-contest-position--3 .ncats-contest-tile{animation-delay:-1.7s;animation-duration:11s}.ncats-contest-position--4 .ncats-contest-tile{animation-delay:-6s;animation-duration:9s}
.ncats-contest-emblem{display:grid;place-items:center;flex:0 0 51px;width:51px;height:51px;border-radius:14px;color:var(--tile-colour);background:var(--tile-soft);box-shadow:inset 0 1px 0 #fff,0 3px 0 var(--tile-shadow);transform:translateZ(22px)}
.ncats-contest-emblem svg{display:block;width:40px;height:40px}.ncats-contest-emblem img{width:43px;height:43px;object-fit:contain}
.ncats-contest-copy{min-width:0;transform:translateZ(12px)}.ncats-contest-copy small{display:block;font:700 8px/1.5 system-ui,sans-serif;letter-spacing:.13em;color:#6a6370}.ncats-contest-copy strong{display:block;margin-top:4px;font:750 14px/1.3 system-ui,sans-serif;color:#303030;overflow-wrap:anywhere}.ncats-contest-spark{position:absolute;right:9px;top:5px;font-size:12px;color:var(--tile-colour)}
.ncats-scene-orbit{position:absolute;width:620px;height:620px;left:-350px;top:20%;border:1px solid #e9b77670;border-radius:50%;box-shadow:0 0 0 65px #f3cf9f18,0 0 0 130px #f3cf9f14;animation:ncats-orbit-breathe 14s ease-in-out infinite}
.ncats-scene-orbit--two{left:auto;top:auto;right:-340px;bottom:10%;width:570px;height:570px;border-color:#c2186a25;box-shadow:0 0 0 65px #c2186a05,0 0 0 130px #c2186a04;animation-delay:-7s}
body.ncats-ui-login .ncats-motion-control{position:absolute;z-index:3;right:20px;top:12px;display:inline-flex;align-items:center;gap:7px;padding:6px 10px;min-height:32px;border:1px solid #dcd6df;border-radius:20px;background:#ffffffd9;color:#605566;font:600 10px/1.4 system-ui,sans-serif;cursor:pointer;box-shadow:none}
body.ncats-ui-login .ncats-motion-control:hover{background:#fff;color:#303030}.ncats-motion-control svg{flex:none}
@keyframes ncats-contest-float{0%,100%{transform:translate3d(0,0,0) rotateZ(var(--tile-tilt)) rotateY(-9deg) rotateX(5deg)}50%{transform:translate3d(0,-13px,18px) rotateZ(calc(var(--tile-tilt) + 3deg)) rotateY(10deg) rotateX(-3deg)}}
@keyframes ncats-orbit-breathe{50%{transform:translate3d(8px,-12px,0) scale(1.06)}}
.ncats-login-scene[data-paused=true] *{animation-play-state:paused!important}.ncats-login-scene[data-paused=true] .ncats-scene-depth{transform:none;transition:none}
@media(min-width:1700px){body.ncats-ui-login .pro-hero{padding-top:120px;padding-bottom:110px}.ncats-contest-position--0{left:3%;top:22%}.ncats-contest-position--1{left:calc(50% - 119px);top:25px}.ncats-contest-position--2{right:3%;top:24%}.ncats-contest-position--3{left:5%;bottom:17%}.ncats-contest-position--4{right:5%;bottom:15%}}
@media(max-width:980px){body.ncats-ui-login .pro-hero{padding:148px 18px 194px}.ncats-contest-position{width:210px}.ncats-contest-position--0{left:7%;top:36px}.ncats-contest-position--1{left:auto;right:7%;top:42px}.ncats-contest-position--2{right:6%;top:auto;bottom:104px}.ncats-contest-position--3{left:6%;bottom:104px}.ncats-contest-position--4{right:auto;left:calc(50% - 105px);bottom:15px}.ncats-contest-tile{padding:12px;gap:10px;animation-name:ncats-contest-drift}.ncats-scene-depth{transform:none!important;transition:none}}
@media(max-width:520px){body.ncats-ui-login .pro-hero{padding:140px 16px 205px}.ncats-contest-position{width:calc((100% - 42px)/2)}.ncats-contest-position--0{left:14px;top:45px}.ncats-contest-position--1{right:14px;top:45px}.ncats-contest-position--2{right:14px;bottom:112px}.ncats-contest-position--3{left:14px;bottom:112px}.ncats-contest-position--4{width:194px;left:calc(50% - 97px);bottom:21px}.ncats-contest-tile{min-height:70px;padding:10px;gap:8px;border-radius:13px}.ncats-contest-emblem{flex-basis:34px;width:34px;height:36px;border-radius:9px;transform:none}.ncats-contest-emblem svg,.ncats-contest-emblem img{width:29px;height:29px}.ncats-contest-copy{transform:none}.ncats-contest-copy strong{font-size:11px}.ncats-contest-copy small{font-size:6px;letter-spacing:.05em}.ncats-contest-spark{font-size:9px;right:5px;top:3px}.ncats-scene-orbit{opacity:.4}}
@keyframes ncats-contest-drift{0%,100%{transform:translateY(0) rotateZ(calc(var(--tile-tilt)/2))}50%{transform:translateY(-5px) rotateZ(calc(var(--tile-tilt)/2 + 1deg))}}
@media(prefers-reduced-motion:reduce){.ncats-login-scene *{animation:none!important;transition:none!important}.ncats-login-scene .ncats-scene-depth{transform:none!important}body.ncats-ui-login .ncats-motion-control{display:none}}
/* Keep Google's standard 304px widget fully visible inside the phone form. */
@media(max-width:400px){body.ncats-ui-login .ncats-login-captcha .g-recaptcha{flex:0 0 304px;transform:scale(.88);transform-origin:center}}
@media(max-width:360px){body.ncats-ui-login .ncats-login-captcha .g-recaptcha{transform:scale(.7)}}
