/* Login-Erlebnis für Modpanel und Zuschauerbereich; Bunnyzudemkushtv Theme. */

body.auth-scene { min-height:100svh; padding:0; isolation:isolate; }

.auth-scene .auth-header { width:min(1180px,calc(100% - 64px)); margin:30px auto 0; display:flex; justify-content:space-between; align-items:center; gap:20px; }

.auth-wordmark { display:flex; flex-direction:column; gap:5px; font-family:var(--font-display); font-size:15px; font-weight:800; }

.auth-wordmark small { font-family:var(--font-body); font-size:10px; font-weight:600; letter-spacing:.24em; color:var(--text-dim); text-transform:uppercase; }

.auth-switch { color:var(--text-dim); text-decoration:none; font-size:12px; padding:10px 14px; border:1px solid var(--border); border-radius:100px; background:rgba(var(--theme-bg-rgb),.6); }

.auth-switch:hover { color:var(--text); border-color:var(--brand-primary); }

.auth-scene .auth-layout { width:min(1180px,calc(100% - 64px)); margin:36px auto; flex:1; display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,1fr); gap:64px; align-items:center; }

.auth-showcase { min-width:0; text-align:center; }

.auth-art { position:relative; height:450px; display:grid; place-items:center; }

.auth-art::before { content:""; position:absolute; width:330px; height:330px; border-radius:50%; background:radial-gradient(ellipse,rgba(var(--brand-primary-rgb),.14),rgba(var(--brand-primary-rgb),.06) 42%,transparent 72%); box-shadow:0 0 35px rgba(var(--brand-primary-rgb),.10),inset 0 0 24px rgba(var(--brand-primary-rgb),.06); animation:authCorePulse 5s ease-in-out infinite; }

@property --auth-ring-angle { syntax:"<angle>"; initial-value:0deg; inherits:false; }

.auth-art::after { content:""; position:absolute; width:410px; height:410px; border-radius:50%; padding:1px; background:conic-gradient(from var(--auth-ring-angle),rgba(var(--brand-primary-rgb),.16) 0deg,var(--brand-primary) 55deg,#c084fc 80deg,#f3e8ff 95deg,#c084fc 110deg,var(--brand-primary) 135deg,rgba(var(--brand-primary-rgb),.16) 190deg,rgba(var(--brand-primary-rgb),.16) 360deg); -webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0); -webkit-mask-composite:xor; mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0); mask-composite:exclude; filter:drop-shadow(0 0 6px rgba(var(--brand-primary-rgb),.32)); animation:authPurpleRing 5s linear infinite; pointer-events:none; }

.auth-scene-logo { position:relative; z-index:1; width:340px; height:392px; object-fit:contain; filter:none; }

.auth-bubble { position:absolute; z-index:2; display:flex; flex-direction:column; gap:5px; max-width:180px; padding:13px 17px; border:1px solid rgba(var(--brand-primary-rgb),.32); border-radius:17px 17px 17px 4px; text-align:left; background:rgba(var(--theme-bg-rgb),.9); box-shadow:0 12px 32px rgba(0,0,0,.25); animation:authBubbleFloat 6s ease-in-out infinite; pointer-events:none; }

.auth-bubble b { font-size:12px; color:var(--text); }

.auth-bubble span { font-size:10px; color:var(--text-dim); }

.auth-bubble:nth-of-type(1) { top:34px; left:0; transform:translateX(-15px) rotate(-3deg); }

.auth-bubble:nth-of-type(2) { top:105px; right:-10px; transform:rotate(2deg); animation-delay:-2s; border-radius:17px 17px 4px 17px; }

.auth-bubble:nth-of-type(3) { bottom:65px; left:-12px; transform:rotate(-3deg); animation-delay:-4s; }

.auth-bubble:nth-of-type(4) { bottom:28px; right:2px; transform:rotate(7deg); animation-delay:-1s; border-radius:17px 17px 4px 17px; }

.auth-bubble::after { content:""; position:absolute; inset:-1px; padding:1px; border-radius:inherit; pointer-events:none; background:linear-gradient(110deg,rgba(var(--brand-primary-rgb),.18),var(--brand-primary),#c084fc,#f3e8ff,#c084fc,var(--brand-primary),rgba(var(--brand-primary-rgb),.18)); background-size:300% 300%; -webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0); -webkit-mask-composite:xor; mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0); mask-composite:exclude; animation:authPurpleBorder 4s linear infinite; filter:drop-shadow(0 0 4px rgba(var(--brand-primary-rgb),.30)); }

.auth-showcase-copy { margin:8px auto 0; max-width:500px; }

.auth-eyebrow { color:var(--brand-primary); text-transform:uppercase; font-size:10px; font-weight:800; letter-spacing:.2em; }

.auth-showcase-copy h2 { font-family:var(--font-display); font-size:clamp(25px,3vw,39px); line-height:1.2; margin:12px 0; letter-spacing:-.04em; }

.auth-showcase-copy p { color:var(--text-dim); font-size:13px; margin:0; }

.auth-login-panel { min-width:0; position:relative; padding:42px; border:1px solid rgba(var(--brand-primary-rgb),.3); border-radius:28px; background:linear-gradient(150deg,rgba(var(--theme-surface-2-rgb),.94),rgba(var(--theme-bg-rgb),.97)); box-shadow:0 24px 80px rgba(0,0,0,.35); }

.auth-login-panel::before { content:""; position:absolute; top:-1px; left:36px; right:36px; height:2px; background:linear-gradient(90deg,transparent,var(--brand-primary),transparent); }

.auth-login-panel .auth-brand-lockup { margin-bottom:22px; }

.auth-login-panel .auth-brand-name { font-size:12px; color:var(--text-dim); }

.auth-heading { font-family:var(--font-display); font-size:clamp(26px,2.6vw,36px); line-height:1.25; letter-spacing:-.035em; margin:12px 0 16px; }

.auth-heading span { color:var(--brand-primary); }

.auth-intro { color:var(--text-dim); line-height:1.7; font-size:14px; margin:0 0 26px; }

.auth-actions { display:grid; gap:12px; }

.auth-actions .btn { width:100%; min-height:54px; border-radius:14px; justify-content:center; font-size:14px; gap:12px; }

.auth-actions svg { width:21px; height:21px; flex-shrink:0; fill:currentColor; }

.auth-note { margin:22px 0 0; font-size:11px; line-height:1.8; color:var(--text-dim); padding-top:20px; border-top:1px solid var(--border); }

.auth-card-foot { display:flex; gap:8px; align-items:center; margin-top:24px; color:var(--text-dim); font-size:10px; letter-spacing:.04em; }

.auth-card-foot::before { content:"✦"; color:var(--brand-primary); font-size:16px; }

.auth-scene .login-copyright { margin:0; padding:16px 24px 26px; }

.auth-scene a:focus-visible { outline:3px solid var(--brand-primary); outline-offset:5px; }

@keyframes authPurpleRing { to { --auth-ring-angle:360deg; } }

@keyframes authCorePulse { 0%,100%{scale:1;opacity:.72} 50%{scale:1.04;opacity:1} }

@keyframes authPurpleBorder { 0%{background-position:0% 50%;opacity:.55} 50%{background-position:100% 50%;opacity:1} 100%{background-position:0% 50%;opacity:.55} }

@keyframes authBubbleFloat { 0%,100%{translate:0 0} 50%{translate:0 -9px} }


@media(max-width:1050px) { .auth-scene .auth-layout{gap:28px}.auth-login-panel{padding:30px}.auth-scene-logo{width:290px;height:340px}.auth-art{height:410px}.auth-art::after{width:340px;height:340px}.auth-bubble{padding:10px;max-width:142px}.auth-bubble:nth-of-type(2){right:0}.auth-bubble:nth-of-type(3){left:0} }

@media(max-width:760px) { .auth-scene .auth-header{width:calc(100% - 36px);margin-top:20px}.auth-wordmark{font-size:12px}.auth-wordmark small{font-size:8px}.auth-switch{font-size:10px;padding:9px}.auth-scene .auth-layout{grid-template-columns:minmax(0,1fr);width:min(520px,calc(100% - 32px));gap:24px;margin:18px auto 26px}.auth-art{height:315px}.auth-scene-logo{width:250px;height:290px}.auth-art::before{width:240px;height:240px}.auth-art::after{width:240px;height:240px}.auth-bubble{max-width:128px;padding:9px 11px}.auth-bubble b{font-size:10px}.auth-bubble span{font-size:9px}.auth-bubble:nth-of-type(1){top:20px}.auth-bubble:nth-of-type(2){top:66px}.auth-bubble:nth-of-type(3){bottom:54px}.auth-bubble:nth-of-type(4){bottom:3px}.auth-showcase-copy{display:none}.auth-login-panel{padding:26px;border-radius:22px}.auth-heading{font-size:clamp(23px,6.9vw,27px);overflow-wrap:anywhere}}

@media(prefers-reduced-motion:reduce) { .auth-bubble,.auth-art::before,.auth-art::after{animation:none} }