/* RSI auth — split shell. White sign-in left, black terminal right with
   Robomart red signal accents. Built on mechanical.css + site.css tokens. */

html,body{height:100%}
body{margin:0}

.auth-shell{display:flex;min-height:100vh}
.auth-left{flex:1 1 480px;display:flex;flex-direction:column;padding:34px clamp(28px,6vw,72px);background:#fff}
.auth-right{flex:1 1 520px;position:relative;overflow:hidden;background:#0b0c0e;display:flex;align-items:center;justify-content:center}
@media (max-width:900px){.auth-right{display:none}.auth-left{flex:1 1 auto}}

.auth-brand{display:flex;align-items:center;gap:10px;font-weight:800;font-size:17px}
.auth-brand img{width:22px;height:22px}
.auth-brand .word{display:inline-block;font-family:var(--font-display);font-weight:800;letter-spacing:.12em;
  line-height:1;text-transform:uppercase;transform:scaleY(.74);transform-origin:left center}

.auth-main{margin:auto 0;max-width:400px;padding:48px 0}
.auth-main h1{font-size:clamp(28px,3.6vw,38px);font-weight:680;letter-spacing:-.03em;line-height:1.12;margin:14px 0 0}
.auth-main .sub{font-size:14px;color:var(--muted);margin-top:14px;line-height:1.6}

.auth-btns{display:flex;flex-direction:column;gap:10px;margin-top:30px}
.oauth{display:flex;align-items:center;justify-content:center;gap:10px;padding:11px 16px;border-radius:10px;
  font-size:13.5px;font-weight:560;border:1px solid var(--line-2);cursor:pointer;background:#fff;color:var(--ink);
  transition:border-color .15s ease}
.oauth svg{width:16px;height:16px}
.oauth.github{background:#0b0c0e;color:#fff;border-color:#0b0c0e}
.oauth.github:hover{background:#26282e}
.oauth.github.loading{opacity:.7;pointer-events:none}
.oauth.google{color:var(--faint);cursor:not-allowed}
.oauth .soon{margin-left:6px;font-family:var(--mono);font-size:10px;padding:2px 7px;border:1px solid var(--line-2);border-radius:99px;color:var(--faint)}

.auth-msg{margin-top:16px;font-size:12.5px;color:#a33;background:#fdecec;border:1px solid #f3caca;border-radius:9px;padding:9px 12px}
.auth-fine{font-size:11.5px;color:var(--faint);margin-top:22px;line-height:1.6}
.auth-fine a{text-decoration:underline}

.auth-foot{display:flex;justify-content:space-between;font-size:12px;color:var(--faint)}
.auth-foot a:hover{color:var(--ink)}

/* right panel — black terminal, red signal */
.auth-right .glow{position:absolute;width:640px;height:640px;border-radius:50%;
  background:radial-gradient(circle,rgba(220,38,38,.18) 0%,rgba(220,38,38,0) 62%);
  top:-180px;right:-160px;pointer-events:none}
.auth-right .scan{position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent 0 3px,rgba(255,255,255,.012) 3px 4px)}
.auth-right .sweep{position:absolute;left:0;right:0;height:120px;top:-120px;
  background:linear-gradient(180deg,transparent,rgba(220,38,38,.06),transparent);
  animation:sweep 7s linear infinite}
@keyframes sweep{to{transform:translateY(calc(100vh + 240px))}}
@media (prefers-reduced-motion:reduce){.auth-right .sweep{animation:none}}

.auth-stage{position:relative;width:min(440px,84%);display:flex;flex-direction:column;gap:18px}
.viewport{background:#101216;border:1px solid #23262d;border-radius:14px;overflow:hidden;
  box-shadow:0 24px 70px rgba(0,0,0,.5)}
.vp-bar{display:flex;align-items:center;gap:8px;font-family:var(--mono);font-size:11px;color:#9aa0ab;
  padding:9px 13px;border-bottom:1px solid #23262d}
.vp-bar .d{width:8px;height:8px;border-radius:50%;background:#dc2626}
.vp-bar .live{margin-left:auto;color:#dc2626;letter-spacing:.06em}
.vp-feed{padding:14px 13px 16px;min-height:172px;display:flex;flex-direction:column;gap:9px}
.vp-feed .row{display:flex;gap:9px;align-items:baseline;font-family:var(--mono);font-size:11.5px;
  opacity:0;transform:translateY(4px);transition:opacity .5s ease,transform .5s ease;flex-wrap:wrap}
.vp-feed .row.show{opacity:1;transform:none}
.vp-feed .who{color:#6b7180;min-width:36px}
.vp-feed .verb{color:#fca5a5;font-weight:600}
.vp-feed .obj{color:#d7dae1}
.vp-feed .ok{color:#7ee2a8;margin-left:auto}

.auth-tag .t{font-size:15px;font-weight:640;color:#fff;letter-spacing:-.01em}
.auth-tag .s{font-size:12.5px;color:#9aa0ab;margin-top:6px;line-height:1.6}
