/* Scoped exclusively to the right-side illustration; auth form styles stay intact. */
.login-story{position:relative;isolation:isolate;overflow:hidden;align-items:center;justify-content:center;padding:48px 40px;background:#09070f}
.login-story-halo{position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 52% 50%,rgba(112,63,184,.16),transparent 55%),radial-gradient(ellipse at 80% 5%,rgba(76,39,123,.07),transparent 55%)}
.login-story-halo::after{content:'';position:absolute;inset:12%;opacity:.13;background-image:radial-gradient(#cbb1ed .6px,transparent .6px);background-size:22px 22px;mask-image:radial-gradient(ellipse,#000,transparent 70%)}
.login-story-content{width:100%;max-width:800px;position:relative;text-align:center}
.login-story-eyebrow{display:flex;align-items:center;justify-content:center;gap:9px;font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:#aa92c8;margin-bottom:21px}
.login-story-eyebrow>span{width:5px;height:5px;border-radius:50%;background:#bd9af5;box-shadow:0 0 12px #9f6fea}
.login-story h2{font-size:clamp(40px,3.4vw,64px);line-height:1.04;letter-spacing:-.05em;font-weight:600;margin:0;color:#f5f0fd}
.login-story h2>span{background:linear-gradient(100deg,#e0caff,#b88afa 55%,#8956de);background-clip:text;-webkit-background-clip:text;color:transparent}
.login-story-subtitle{margin:19px 0 0;color:#9f91b0;font-size:14px;font-weight:400}
.login-story-canvas{position:relative;width:100%;aspect-ratio:720/420;margin:20px auto 12px;text-align:left}
.login-story-orbits{position:absolute;left:50%;top:50%;width:48%;aspect-ratio:1;transform:translate(-50%,-50%);pointer-events:none}
.login-story-orbits i{position:absolute;inset:0;border:1px solid rgba(198,156,255,.07);border-radius:50%}
.login-story-orbits i:nth-child(2){inset:14%;border-style:dashed;border-color:rgba(198,156,255,.11);animation:storyOrbit 75s linear infinite}.login-story-orbits i:nth-child(3){inset:28%;border-color:rgba(198,156,255,.12)}
.login-story-orbits b{position:absolute;inset:-18%;border-radius:50%;background:radial-gradient(circle,rgba(158,99,230,.12),transparent 65%)}
.login-story-paths{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.login-story-paths .story-wire{stroke:url(#login-thread);stroke-width:1.3}
.login-story-paths .story-packet{stroke:#dcc1ff;stroke-width:2;stroke-linecap:round;stroke-dasharray:7 660;stroke-dashoffset:660;filter:drop-shadow(0 0 5px #a57be8);animation:storyTravel 7s linear infinite}
.login-story-paths .story-packet-reply{stroke-dasharray:7 260;stroke-dashoffset:260;animation-name:storyReplyTravel;animation-delay:2s}
.login-story-note{position:absolute;border:1px solid rgba(206,176,246,.17);border-radius:19px;background:linear-gradient(135deg,rgba(39,28,55,.85),rgba(17,13,25,.93));padding:20px;box-shadow:0 20px 60px rgba(0,0,0,.22),inset 0 1px 0 rgba(255,255,255,.035);transition:border-color .6s,box-shadow .6s,transform .6s;backdrop-filter:blur(16px)}
.story-brief{left:3%;top:14%;width:29%;transform:rotate(-5deg)}
.story-note-label{display:flex;align-items:center;gap:7px;font-size:8px;letter-spacing:.14em;font-weight:500;color:#b59acb}
.story-brief>strong{display:block;margin-top:15px;font-size:clamp(13px,1.1vw,18px);line-height:1.45;font-weight:500;color:#e9dcfa}
.story-note-lines{display:grid;gap:6px;margin-top:16px}.story-note-lines i{display:block;width:78%;height:4px;background:rgba(207,186,237,.11);border-radius:5px}.story-note-lines i:last-child{width:48%}
.login-story-core{position:absolute;left:50%;top:50%;width:88px;height:88px;transform:translate(-50%,-50%);display:grid;place-items:center}
.login-story-core>span{width:64px;height:64px;display:grid;place-items:center;border:1px solid rgba(231,210,255,.55);border-radius:22px;background:linear-gradient(145deg,#c9a3fc,#8c58da 60%,#5d319d);color:#f6ecff;font-size:25px;box-shadow:0 0 45px rgba(167,103,245,.3),inset 0 1px 0 rgba(255,255,255,.3);transform:rotate(-8deg)}
.login-story-core>span i, .login-story-core>span svg{transform:rotate(8deg)}
.login-story-core>span svg{width:28px;height:28px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;display:block}
.story-core-ring{position:absolute;inset:0;border:1px solid rgba(204,173,251,.2);border-radius:50%;animation:storyBreathe 4s ease-in-out infinite}
.login-story-core small{position:absolute;top:104px;white-space:nowrap;font-size:8px;letter-spacing:.2em;color:#ba9bdb}
.story-email{right:1%;top:11%;width:34%;transform:rotate(4deg)}
.story-email-recipient{display:flex;align-items:center;gap:10px;margin-top:17px}.story-email-recipient>span{width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:#342842;color:#cbb4df;font-size:11px;flex-shrink:0}.story-email-recipient strong{display:block;color:#eee1fb;font-size:13px;font-weight:500}.story-email-recipient small{display:block;font-size:9px;color:#9585a8;margin-top:3px}
.story-click{display:flex;align-items:center;gap:6px;border-top:1px solid rgba(206,176,246,.08);margin-top:14px;padding-top:11px;font-size:8px;color:#c3a1e6}
.story-reply{position:absolute;right:8%;bottom:1%;display:flex;align-items:flex-start;gap:12px;max-width:55%;padding:19px 22px;border-radius:22px 22px 22px 5px;border:1px solid rgba(201,172,241,.2);background:linear-gradient(140deg,rgba(44,31,62,.94),rgba(22,17,32,.92));box-shadow:0 15px 50px rgba(0,0,0,.22);transition:border-color .6s,box-shadow .6s,transform .6s}
.story-reply-avatar{position:relative;width:31px;height:31px;display:grid;place-items:center;border-radius:50%;color:#d9c2f5;background:#473459;font-size:12px;flex-shrink:0}.story-reply-avatar span{position:absolute;bottom:-1px;right:-1px;width:8px;height:8px;border:2px solid #21182e;border-radius:50%;background:#9dcbbb}
.story-reply strong{display:block;font-size:clamp(17px,1.4vw,23px);font-weight:500;line-height:1.25;letter-spacing:-.015em;color:#f0e4ff;margin-top:9px}
.story-reply-status{display:flex;align-items:center;gap:6px;font-size:8px;color:#b8b5c8;margin-top:12px}.story-reply-status i{color:#9fcdbd}
.story-signal-dot{position:absolute;left:18%;bottom:12%;width:33px;height:33px;border:1px solid rgba(198,156,255,.14);border-radius:50%;display:grid;place-items:center;color:#ad8fd2;font-size:12px;animation:storyFloat 7s ease-in-out infinite}.story-signal-star{position:absolute;right:8%;top:66%;color:#9471bc;font-size:20px;animation:storyFloat 6s ease-in-out -3s infinite}
.login-story[data-scene='0'] .story-brief{border-color:rgba(204,166,251,.5);box-shadow:0 0 35px rgba(159,102,226,.12);transform:rotate(-3deg) translateY(-4px)}
.login-story[data-scene='1'] .story-email{border-color:rgba(204,166,251,.5);box-shadow:0 0 35px rgba(159,102,226,.12);transform:rotate(2deg) translateY(-4px)}
.login-story[data-scene='2'] .story-reply{border-color:rgba(204,166,251,.5);box-shadow:0 0 35px rgba(159,102,226,.12);transform:translateY(-4px)}
.login-story-controls{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:32px}
.login-story-controls button{border:0;background:transparent;color:#8f7fa1;display:flex;align-items:center;gap:7px;font-size:11px;transition:color .25s;white-space:nowrap;padding:7px 2px}
.login-story-controls button>span{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;border:1px solid rgba(195,160,236,.15);font-size:8px}
.login-story-controls .is-active{color:#e2c8ff}.login-story-controls .is-active>span{border-color:rgba(210,178,255,.45);background:rgba(164,105,232,.14)}
.story-step-line{width:25px;height:1px;background:#33253f}
.login-story-caption{display:flex;justify-content:center;align-items:center;gap:12px;margin-top:10px;min-height:30px}.login-story-caption p{font-size:11px;color:#a292b5;margin:0}
.story-motion-toggle{width:26px;height:26px;border:1px solid rgba(201,172,241,.13);background:rgba(201,172,241,.025);color:#a28abf;border-radius:50%;font-size:8px;flex-shrink:0}
.login-story-example{display:block;font-size:8px;color:#75667f;margin-top:12px;letter-spacing:.04em}
.login-story button:focus-visible{outline:2px solid #c9adff;outline-offset:5px}
.login-story.story-paused *{animation-play-state:paused!important}
@keyframes storyOrbit{to{transform:rotate(360deg)}}
@keyframes storyTravel{to{stroke-dashoffset:0}}
@keyframes storyReplyTravel{to{stroke-dashoffset:0}}
@keyframes storyBreathe{0%,100%{transform:scale(1);opacity:.5}50%{transform:scale(1.12);opacity:1}}
@keyframes storyFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
@media(min-width:1024px) and (max-width:1250px){.login-story{padding:36px 20px}.login-story-note{padding:13px}.story-note-label{font-size:7px}.story-brief{left:0;width:31%}.story-email{right:0;width:35%}.story-email-recipient{gap:6px}.story-email-recipient>span{display:none}.story-reply{padding:13px;right:3%;bottom:-6%}.story-reply-avatar{display:none}.login-story-controls{margin-top:48px;gap:7px}.login-story-controls button{font-size:10px}.story-step-line{width:10px}.login-story-core{width:72px;height:72px}.login-story-core>span{width:53px;height:53px;font-size:20px}.login-story-core>span svg{width:22px;height:22px}.login-story-core small{top:83px}.story-note-lines{margin-top:10px}.story-click{font-size:7px}}
@media(prefers-reduced-motion:reduce){.login-story *{animation:none!important;transition:none!important}}
@media(min-width:1024px) and (max-height:800px){.login-story{padding-top:28px;padding-bottom:28px}.login-story h2{font-size:40px}.login-story-eyebrow{margin-bottom:14px}.login-story-subtitle{margin-top:14px;font-size:12px}.login-story-canvas{max-width:620px;margin-top:10px;margin-bottom:0}.login-story-controls{margin-top:25px}.login-story-caption{margin-top:5px}.login-story-example{margin-top:5px}}
