/* Scoped login presentation. */
*{box-sizing:border-box}html{min-height:100%;background:#0d1122;color-scheme:dark}
.studio-login{margin:0;min-height:100vh;min-height:100svh;display:grid;place-items:center;padding:32px 20px;font:15px/1.5 system-ui,-apple-system,"Segoe UI",sans-serif;color:#eff1fb;background:radial-gradient(ellipse at 17% 16%,#51407940,transparent 52%),radial-gradient(ellipse at 86% 80%,#293a654a,transparent 52%),linear-gradient(145deg,#0d1122,#17182f 50%,#101d30);overflow-wrap:anywhere}
.login-shell{width:100%;max-width:410px;margin:auto}.login-brand{text-align:center;margin-bottom:25px}.login-mark{position:relative;display:grid;place-items:center;margin:0 auto 12px;width:48px;height:48px;border-radius:16px;background:linear-gradient(135deg,#8070ad60,#28345190);border:1px solid #b69aff40;box-shadow:0 0 30px #b69aff15;font-size:29px;font-weight:650;color:#e7ddff}.login-mark span{position:absolute;right:5px;top:1px;font-size:13px}.brand-name{margin:0;font-size:25px;font-weight:650;letter-spacing:-.6px}.brand-tagline{margin:5px 0 0;color:#afb4ce;font-size:13px}
.login-card{padding:30px;border:1px solid #b9a3f733;border-radius:24px;background:linear-gradient(135deg,#35304e80,#1b253d85);backdrop-filter:blur(22px);box-shadow:0 18px 65px #02061040,0 0 50px #b69aff0b,inset 0 1px #ffffff08}h1{margin:0;text-align:center;font-size:24px;letter-spacing:-.65px;line-height:1.3}.login-subtitle{margin:10px 0 26px;text-align:center;color:#b1bbd5;font-size:13px}
form{display:flex;flex-direction:column;gap:8px}label{font-size:13px;font-weight:550;color:#d7daeb}input{display:block;width:100%;min-width:0;min-height:46px;padding:11px 13px;border:1px solid #62658170;border-radius:11px;background:#10182c99;color:#eff1fb;font:inherit;outline:none;transition:border-color .15s,box-shadow .15s}input:focus{border-color:#b69aff;box-shadow:0 0 0 3px #b69aff20}#login-name{margin-bottom:12px}.password-field{position:relative}.password-field input{padding-right:48px}button{font:inherit;cursor:pointer}.password-toggle{position:absolute;right:3px;top:3px;width:40px;height:40px;display:grid;place-items:center;border:0;border-radius:9px;background:transparent;color:#b1bbd5}.password-toggle[hidden]{display:none}.password-toggle:hover{background:#b69aff18;color:#e4d7ff}.password-toggle svg{width:21px;height:21px}.eye-slash{display:none}.password-toggle[aria-pressed=true] .eye-slash{display:block}button:focus-visible{outline:2px solid #d4c1ff;outline-offset:3px}
.login-submit{min-height:48px;margin-top:18px;padding:12px 16px;border:1px solid #c5afff50;border-radius:12px;background:linear-gradient(110deg,#7961b1,#665ba0);color:#fff;font-weight:600;box-shadow:0 6px 24px #9c78e51c;transition:filter .15s}.login-submit:hover{filter:brightness(1.12)}.login-submit span{margin-left:8px}.login-error{padding:12px 14px;border:1px solid #ef9ba84d;border-radius:10px;background:#7f35402b;color:#ffd7dd;font-size:13px}.login-footer{margin:20px 0 0;text-align:center;color:#8e97b2;font-size:12px}
@media(max-width:480px){.studio-login{padding:24px 16px}.login-card{padding:25px 22px}h1{font-size:23px}}
@media(max-height:620px){.studio-login{place-items:start center;padding-top:20px;padding-bottom:20px}.login-brand{margin-bottom:16px}.login-mark{display:none}}
@media(prefers-reduced-motion:reduce){input,.login-submit{transition:none}}

/* Brand + aurora (stage 3) */
.studio-login{background:radial-gradient(60% 46% at 84% 8%,rgba(132,92,240,.42),transparent 70%),radial-gradient(50% 40% at 8% 20%,rgba(60,110,240,.32),transparent 70%),radial-gradient(52% 44% at 16% 92%,rgba(176,92,220,.24),transparent 70%),radial-gradient(46% 40% at 94% 86%,rgba(56,130,240,.24),transparent 70%),linear-gradient(170deg,#0a0d2a,#0c0a24)}
.studio-login::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='690' height='690'%3E%3Ccircle cx='556' cy='565' r='1.27' fill='%23b9dcff' fill-opacity='0.4'/%3E%3Ccircle cx='245' cy='20' r='0.38' fill='%23cdbcff' fill-opacity='0.43'/%3E%3Ccircle cx='134' cy='418' r='0.78' fill='%23cdbcff' fill-opacity='0.78'/%3E%3Ccircle cx='659' cy='252' r='0.63' fill='%23dfe6ff' fill-opacity='0.4'/%3E%3Ccircle cx='233' cy='333' r='1.58' fill='%23ffffff' fill-opacity='0.65'/%3E%3Ccircle cx='331' cy='451' r='1.35' fill='%23ffffff' fill-opacity='0.31'/%3E%3Ccircle cx='628' cy='540' r='1.29' fill='%23dfe6ff' fill-opacity='0.56'/%3E%3Ccircle cx='299' cy='439' r='0.46' fill='%23b9dcff' fill-opacity='0.87'/%3E%3Ccircle cx='320' cy='513' r='0.46' fill='%23dfe6ff' fill-opacity='0.35'/%3E%3Ccircle cx='19' cy='408' r='0.93' fill='%23b9dcff' fill-opacity='0.68'/%3E%3Ccircle cx='454' cy='242' r='1.04' fill='%23ffffff' fill-opacity='0.34'/%3E%3Ccircle cx='552' cy='501' r='0.48' fill='%23dfe6ff' fill-opacity='0.74'/%3E%3Ccircle cx='299' cy='602' r='1.38' fill='%23cdbcff' fill-opacity='0.39'/%3E%3Ccircle cx='147' cy='346' r='1.3' fill='%23b9dcff' fill-opacity='0.46'/%3E%3Ccircle cx='576' cy='42' r='1.27' fill='%23b9dcff' fill-opacity='0.83'/%3E%3Ccircle cx='571' cy='606' r='0.51' fill='%23ffffff' fill-opacity='0.35'/%3E%3Ccircle cx='602' cy='536' r='1.11' fill='%23dfe6ff' fill-opacity='0.75'/%3E%3Ccircle cx='119' cy='327' r='1.26' fill='%23cdbcff' fill-opacity='0.61'/%3E%3Ccircle cx='471' cy='366' r='0.95' fill='%23ffffff' fill-opacity='0.75'/%3E%3Ccircle cx='171' cy='191' r='1.32' fill='%23ffffff' fill-opacity='0.58'/%3E%3Ccircle cx='524' cy='630' r='0.9' fill='%23dfe6ff' fill-opacity='0.65'/%3E%3Ccircle cx='478' cy='312' r='1.02' fill='%23dfe6ff' fill-opacity='0.56'/%3E%3C/svg%3E"),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='420' height='420'%3E%3Ccircle cx='136' cy='63' r='0.84' fill='%23ffffff' fill-opacity='0.3'/%3E%3Ccircle cx='154' cy='24' r='0.73' fill='%23b9dcff' fill-opacity='0.27'/%3E%3Ccircle cx='176' cy='101' r='0.76' fill='%23ffffff' fill-opacity='0.29'/%3E%3Ccircle cx='398' cy='265' r='0.79' fill='%23b9dcff' fill-opacity='0.29'/%3E%3Ccircle cx='21' cy='93' r='0.77' fill='%23b9dcff' fill-opacity='0.34'/%3E%3Ccircle cx='61' cy='49' r='0.58' fill='%23dfe6ff' fill-opacity='0.78'/%3E%3Ccircle cx='43' cy='240' r='0.49' fill='%23ffffff' fill-opacity='0.31'/%3E%3Ccircle cx='237' cy='260' r='0.72' fill='%23cdbcff' fill-opacity='0.6'/%3E%3Ccircle cx='196' cy='388' r='0.62' fill='%23dfe6ff' fill-opacity='0.41'/%3E%3Ccircle cx='294' cy='103' r='0.78' fill='%23cdbcff' fill-opacity='0.59'/%3E%3Ccircle cx='306' cy='121' r='1.09' fill='%23b9dcff' fill-opacity='0.33'/%3E%3Ccircle cx='69' cy='144' r='1.05' fill='%23ffffff' fill-opacity='0.52'/%3E%3Ccircle cx='321' cy='241' r='1.01' fill='%23cdbcff' fill-opacity='0.45'/%3E%3Ccircle cx='250' cy='244' r='0.69' fill='%23cdbcff' fill-opacity='0.8'/%3E%3Ccircle cx='199' cy='279' r='0.4' fill='%23b9dcff' fill-opacity='0.71'/%3E%3Ccircle cx='120' cy='162' r='0.85' fill='%23b9dcff' fill-opacity='0.26'/%3E%3Ccircle cx='149' cy='257' r='0.72' fill='%23cdbcff' fill-opacity='0.39'/%3E%3Ccircle cx='54' cy='104' r='0.64' fill='%23ffffff' fill-opacity='0.82'/%3E%3Ccircle cx='70' cy='169' r='0.56' fill='%23b9dcff' fill-opacity='0.34'/%3E%3Ccircle cx='363' cy='117' r='0.66' fill='%23b9dcff' fill-opacity='0.48'/%3E%3Ccircle cx='402' cy='63' r='0.48' fill='%23dfe6ff' fill-opacity='0.4'/%3E%3Ccircle cx='5' cy='349' r='0.49' fill='%23dfe6ff' fill-opacity='0.43'/%3E%3Ccircle cx='176' cy='155' r='0.77' fill='%23ffffff' fill-opacity='0.87'/%3E%3Ccircle cx='192' cy='366' r='1.06' fill='%23b9dcff' fill-opacity='0.69'/%3E%3Ccircle cx='167' cy='166' r='0.71' fill='%23dfe6ff' fill-opacity='0.51'/%3E%3Ccircle cx='28' cy='88' r='0.47' fill='%23ffffff' fill-opacity='0.47'/%3E%3Ccircle cx='43' cy='238' r='0.75' fill='%23ffffff' fill-opacity='0.87'/%3E%3Ccircle cx='30' cy='87' r='0.63' fill='%23cdbcff' fill-opacity='0.66'/%3E%3Ccircle cx='253' cy='199' r='0.44' fill='%23b9dcff' fill-opacity='0.57'/%3E%3Ccircle cx='202' cy='131' r='0.46' fill='%23cdbcff' fill-opacity='0.74'/%3E%3Ccircle cx='201' cy='291' r='0.74' fill='%23cdbcff' fill-opacity='0.38'/%3E%3Ccircle cx='62' cy='228' r='0.37' fill='%23ffffff' fill-opacity='0.59'/%3E%3Ccircle cx='292' cy='110' r='0.63' fill='%23dfe6ff' fill-opacity='0.36'/%3E%3Ccircle cx='224' cy='327' r='0.6' fill='%23dfe6ff' fill-opacity='0.39'/%3E%3C/svg%3E");background-size:690px 690px,420px 420px;opacity:.75}
.login-mark{width:64px;height:64px;border:0;border-radius:0;background:none;box-shadow:none}
.login-mark img{display:block;width:56px;height:56px;filter:drop-shadow(0 0 8px rgba(200,190,255,.75)) drop-shadow(0 0 22px rgba(130,140,255,.5))}
.brand-name{background:linear-gradient(180deg,#fff 30%,#d9d0ff);-webkit-background-clip:text;background-clip:text;color:transparent}
.login-card{background:radial-gradient(130% 90% at 0% 0%,rgba(122,150,255,.17),transparent 52%),radial-gradient(100% 80% at 100% 100%,rgba(213,140,240,.1),transparent 58%),rgba(28,30,78,.42);border-color:rgba(196,186,255,.26);box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 0 40px -6px rgba(140,120,255,.3),0 18px 60px rgba(3,4,20,.45)}
.login-submit{border-color:rgba(232,224,255,.55);background:linear-gradient(100deg,#5f7cf6 0%,#8a6cf2 48%,#bb6fe4 100%);box-shadow:0 8px 26px rgba(120,100,255,.38),0 0 18px rgba(190,120,240,.22),inset 0 1px 0 rgba(255,255,255,.35)}
