html.panndaworld-auth-page, body.panndaworld-auth-page { margin:0; min-width:0; overflow-x:hidden; background:#101820; }
.panndaworld-auth-page *, .panndaworld-auth-page *::before, .panndaworld-auth-page *::after { box-sizing:border-box; }
.panndaworld-auth-shell { position:relative; min-height:100dvh; overflow:hidden; color:#fff; background:var(--auth-bg-color,#101820); font-family:inherit; }
.panndaworld-auth-background { position:absolute; inset:0; z-index:0; background:linear-gradient(135deg,#101820,#223b48 55%,#4688A0); }
.panndaworld-auth-background::after { content:""; position:absolute; inset:0; background:rgba(0,0,0,.25); }
.panndaworld-auth-header { position:relative; z-index:2; min-height:60px; padding:12px max(20px,env(safe-area-inset-right)) 12px max(20px,env(safe-area-inset-left)); display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:16px; background:rgba(10,10,10,.84); }
.panndaworld-auth-header p { margin:0; color:#fff; font-size:clamp(12px,1.3vw,16px); font-weight:700; letter-spacing:.18em; text-align:center; }
.panndaworld-auth-brand, .panndaworld-auth-close { color:#fff; text-decoration:none; font-size:28px; font-weight:800; line-height:1; }
.panndaworld-auth-close { justify-self:end; border:1px solid rgba(255,255,255,.75); border-radius:50%; width:28px; height:28px; display:grid; place-items:center; font-size:23px; }
.panndaworld-auth-content { position:relative; z-index:1; width:min(1120px,calc(100% - 32px)); margin:0 auto; padding:48px 0 56px; min-width:0; }
.panndaworld-auth-card { min-width:0; padding:32px; border:1px solid rgba(255,255,255,.14); background:rgba(25,25,25,.94); box-shadow:0 18px 60px rgba(0,0,0,.35); }
.panndaworld-auth-card--narrow { width:min(520px,100%); margin:36px auto 0; }
.panndaworld-auth-card h1 { margin:0 0 24px; color:#fff; font-size:clamp(24px,3vw,36px); text-align:center; text-transform:uppercase; letter-spacing:.08em; }
.panndaworld-auth-intro { margin:0 0 24px; color:rgba(255,255,255,.8); text-align:center; line-height:1.55; }
.panndaworld-auth-create-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(300px,380px); gap:28px; align-items:start; }
.panndaworld-auth-panda-stage { height:500px; min-width:0; display:grid; place-items:center; border:1px solid rgba(255,255,255,.2); background:rgba(15,15,15,.68); color:rgba(255,255,255,.7); overflow:hidden; }
.panndaworld-auth-panda-stage canvas { display:block; width:100%; height:100%; }
.panndaworld-auth-preset-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; margin-top:14px; }
.panndaworld-auth-preset { min-width:0; padding:7px; border:1px solid rgba(255,255,255,.25); border-radius:6px; background:rgba(15,15,15,.75); color:#fff; cursor:pointer; }
.panndaworld-auth-preset.is-selected { border-color:var(--auth-button-color,#4688A0); box-shadow:0 0 0 2px var(--auth-button-color,#4688A0); }
.panndaworld-auth-preset canvas { display:block; width:100%; height:auto; max-height:100px; }
.panndaworld-auth-preset span { display:block; overflow:hidden; font-size:11px; text-overflow:ellipsis; white-space:nowrap; }
.panndaworld-auth-form { display:grid; gap:8px; }
.panndaworld-auth-form label { margin-top:8px; color:rgba(255,255,255,.85); font-size:14px; }
.panndaworld-auth-form input:not([type="checkbox"]), .panndaworld-auth-form select { width:100%; min-width:0; height:50px; padding:0 14px; border:1px solid rgba(255,255,255,.28); border-radius:0; background:#242424; color:#fff; font:inherit; }
.panndaworld-auth-form input:focus, .panndaworld-auth-form select:focus { outline:2px solid var(--auth-button-color,#4688A0); outline-offset:1px; }
.panndaworld-auth-check { display:flex!important; align-items:center; gap:8px; }
.panndaworld-auth-check input { accent-color:var(--auth-button-color,#4688A0); }
.panndaworld-auth-button { width:100%; min-height:50px; margin-top:14px; border:0; border-radius:0; background:var(--auth-button-color,#4688A0); color:var(--auth-button-text-color,#fff); font:inherit; font-weight:800; letter-spacing:.08em; cursor:pointer; }
.panndaworld-auth-button:disabled { opacity:.6; cursor:wait; }
.panndaworld-auth-status.is-error { color:#ff9b9b; }
.panndaworld-auth-status.is-success { color:#86e5a7; }
.panndaworld-auth-status { min-height:20px; margin:8px 0 0; font-size:13px; }
.panndaworld-auth-switch, .panndaworld-auth-legal { color:rgba(255,255,255,.75); text-align:center; line-height:1.6; }
.panndaworld-auth-switch a, .panndaworld-auth-legal a { color:var(--auth-button-color,#4688A0); }
.panndaworld-auth-legal { display:flex; flex-wrap:wrap; justify-content:center; gap:18px; margin-top:34px; font-size:12px; }
@media (max-width:900px) { .panndaworld-auth-content { padding-top:28px; } .panndaworld-auth-panda-stage { display:none; } .panndaworld-auth-create-grid { grid-template-columns:1fr; } }
@media (max-width:600px) { .panndaworld-auth-header { grid-template-columns:auto 1fr auto; } .panndaworld-auth-header p { font-size:11px; letter-spacing:.1em; } .panndaworld-auth-content { width:min(100% - 24px,520px); padding-top:22px; } .panndaworld-auth-card { padding:22px 18px; } .panndaworld-auth-preset-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
