:root { color-scheme: dark; font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; background:#07070d; color:#f5f3fa; }
* { box-sizing:border-box; }
body { min-width:320px; min-height:100vh; margin:0; display:grid; place-items:center; padding:24px; background:radial-gradient(circle at 78% 20%,rgba(139,92,246,.16),transparent 30rem),#07070d; }
.auth-card { width:min(100%,460px); padding:38px; border:1px solid #292633; border-radius:22px; background:#101018; box-shadow:0 28px 80px rgba(0,0,0,.38); }
.brand { margin:0 0 34px; color:#fff; font-size:21px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.brand span { display:block; margin-top:5px; color:#9f9aa9; font-size:11px; font-weight:650; letter-spacing:.22em; }
h1 { margin:0; font-size:34px; line-height:1.1; }
.intro { margin:12px 0 28px; color:#aaa6b4; line-height:1.6; }
.field { display:grid; gap:8px; margin-top:18px; }
label { color:#bbb7c4; font-size:14px; font-weight:650; }
input { width:100%; min-height:52px; padding:0 15px; color:#fff; background:#0b0b12; border:1px solid #363242; border-radius:12px; }
input:focus-visible,button:focus-visible,a:focus-visible { outline:3px solid rgba(255,130,0,.42); outline-offset:2px; }
button,.primary { display:flex; width:100%; min-height:52px; align-items:center; justify-content:center; margin-top:24px; padding:0 18px; color:#090909; background:#ff8200; border:0; border-radius:12px; font-weight:800; text-decoration:none; cursor:pointer; }
button:disabled { cursor:wait; opacity:.7; }
.link-button { width:auto; min-height:auto; margin:18px auto 0; padding:0; color:#bbb7c4; background:transparent; font-weight:650; }
.status { min-height:22px; margin:16px 0 0; color:#c5c1cc; font-size:14px; line-height:1.5; }
.status.error { color:#ffaaa5; }
.status.success { color:#77dfc1; }
.hidden { display:none; }
.back { display:inline-block; margin-top:24px; color:#aaa6b4; }
body[data-auth-page="entry"] .auth-card { width:min(100%,1120px); min-height:620px; display:grid; grid-template-columns:minmax(0,.9fr) minmax(360px,1.1fr); align-items:center; gap:42px; padding:clamp(40px,6vw,78px); overflow:hidden; }
.entry-copy { position:relative; z-index:2; }
.entry-copy h1 { font-size:clamp(44px,5vw,70px); letter-spacing:-.035em; }
.entry-copy .intro { max-width:510px; font-size:18px; }
.entry-visual { display:grid; min-width:0; max-height:520px; place-items:center; overflow:hidden; }
.entry-isotype { display:block; width:100%; max-width:560px; height:min(64vh,520px); object-fit:contain; opacity:.9; mix-blend-mode:screen; filter:drop-shadow(0 32px 58px rgba(0,0,0,.58)); transform:rotate(-3deg); }
@media (max-width:820px) { body[data-auth-page="entry"] .auth-card { min-height:auto; grid-template-columns:1fr; } .entry-visual { order:-1; max-height:260px; overflow:hidden; } .entry-isotype { width:min(78%,320px); } }
@media (max-width:520px) { body { min-height:100dvh; padding:max(18px,env(safe-area-inset-top)) 16px max(18px,env(safe-area-inset-bottom)); place-items:center; } .auth-card { padding:30px 22px; border-radius:24px; box-shadow:none; } h1 { font-size:30px; } input,button,.primary { min-height:54px; font-size:16px; } body[data-auth-page="entry"] .auth-card { display:flex; min-height:calc(100dvh - 36px - env(safe-area-inset-top) - env(safe-area-inset-bottom)); justify-content:center; padding:32px 24px; } body[data-auth-page="entry"] .entry-visual { display:none; } body[data-auth-page="entry"] .entry-copy { width:100%; } }