:root{color-scheme:light;--ink:#192237;--muted:#778296;--blue:#525fd7;--line:#e3e7ef;--nav:#181f32;--bg:#f5f6fa}
*{box-sizing:border-box}body{margin:0;min-height:100vh;font-family:Inter,"Segoe UI",Arial,sans-serif;color:var(--ink);background:var(--bg);display:grid;grid-template-columns:minmax(320px,38%) 1fr}
aside{background:#181f32;color:#fff;display:flex;flex-direction:column;padding:44px clamp(25px,4vw,75px);min-height:100vh}
.logo{display:flex;align-items:center;gap:11px;font-weight:740;font-size:17px}.iconmark{background:#656ef0;color:white;border-radius:11px;width:37px;height:37px;display:grid;place-items:center;font-weight:800}
.eyebrow{font-size:11px;letter-spacing:2px;text-transform:uppercase;color:#a4afd0;font-weight:700}
aside .hero{margin:auto 0}h1{font-size:clamp(34px,4vw,54px);letter-spacing:-1.8px;line-height:1.12;margin:20px 0 15px}aside p{color:#b7c1d4;line-height:1.8;max-width:390px;font-size:15px}
.tags{display:flex;flex-wrap:wrap;gap:9px;margin-top:26px}.tags span{border:1px solid #4d5870;border-radius:99px;color:#d5ddf1;padding:9px 13px;font-size:12px}small.foot{color:#76839d;font-size:11px}
main{display:grid;place-items:center;padding:45px 24px}.card{width:min(440px,100%)}h2{font-size:30px;letter-spacing:-1px;margin:0 0 7px}p.lead{color:var(--muted);margin:0 0 28px;line-height:1.6}
label{display:block;font-size:12px;font-weight:690;margin-bottom:8px}input{width:100%;border:1px solid var(--line);border-radius:10px;background:white;padding:14px 15px;font-size:14px;outline:none}input:focus{border-color:#676ee5;box-shadow:0 0 0 3px #656bf22b}.field{margin-bottom:17px}
button{width:100%;border:0;background:var(--blue);color:#fff;font-size:14px;font-weight:750;padding:15px;border-radius:10px;margin-top:7px;cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}
.note{border:1px solid #e5e4db;background:#fffaf0;color:#745b31;border-radius:9px;font-size:12px;padding:12px 14px;line-height:1.65;margin-bottom:19px}.note.ok{background:#eff9f5;border-color:#daefe5;color:#21785f}.note.bad{background:#fff1ef;border-color:#f3dcd7;color:#a94335}
a{color:#535dc9;text-decoration:none;font-weight:650}.bottom{font-size:12px;color:#8b94a4;margin-top:28px;line-height:1.7}.bottom a{margin-left:4px}.back{font-size:12px;color:#7f8b9f;display:inline-block;margin-bottom:33px}.hint{font-size:11px;color:#95a0b0;margin-top:7px}
@media(max-width:800px){body{display:block}aside{min-height:auto;padding:24px}aside .hero,aside .foot{display:none}main{padding:43px 24px}}
/* Authenticated returning members never see a sign-in form flash. */
body.checking-session main, body.checking-session aside{visibility:hidden}
body.checking-session::after{content:"AI TRAINING STUDIO";position:fixed;inset:0;display:grid;place-items:center;font-weight:800;letter-spacing:.15em;z-index:99;background:#071a2c;color:#f5d782}

/* Shared bright, neutral authentication design. No forced dark mode on sign-in. */
:root{--ink:#242627;--muted:#686c70;--blue:#202222;--line:#e3e5e7;--nav:#f6f6f5;--bg:#ffffff;color-scheme:light}
body{background:#fff;grid-template-columns:minmax(300px,36%) minmax(0,1fr);font-family:ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
aside{background:#f7f7f6;color:var(--ink);border-right:1px solid var(--line)}
.logo{color:var(--ink);letter-spacing:-.2px}
.iconmark{background:#252727;color:#fff;border-radius:12px}
.eyebrow{color:#69716e;letter-spacing:1.2px}
aside p{color:var(--muted)}
.tags span{color:#535a5b;border-color:#dedfde;background:#fff}
small.foot{color:#8b8f92}
main{background:#fff}
.card{width:min(440px,100%);background:#fff}
h1{letter-spacing:-1.6px}
h2{color:var(--ink)}
input{border-color:#d8dbde;border-radius:12px}
input:focus{border-color:#747b79;box-shadow:0 0 0 3px #e0e5e3}
button{background:#222525;border-radius:12px}
a{color:#276d61}
.back{color:#666d70}
.note{background:#f5f6f5;border-color:#e4e6e5;color:#48504e}
body.checking-session::after{background:#fff;color:#242627;letter-spacing:.04em}
@media(max-width:800px){
 aside{min-height:auto;padding:21px 24px;background:#fff;border-right:0;border-bottom:1px solid var(--line)}
 main{padding:34px 24px}
}
