:root{color-scheme:dark;font-family:"Segoe UI",sans-serif;background:#101116;color:#ededf4}*{box-sizing:border-box}body{margin:0}main{max-width:540px;margin:12vh auto;padding:36px}span{font-size:18px;font-weight:600}h1{font-size:34px;font-weight:550;line-height:1.2;letter-spacing:-1px;margin:36px 0 20px}p{font-size:14px;line-height:1.8;color:#a4a6b8}a{display:inline-block;margin-top:26px;color:#c8bcff;text-decoration:none;padding:12px 0;font-size:13px}a:hover{text-decoration:underline}a:focus-visible{outline:2px solid #b9adff;outline-offset:6px}
form{display:grid;gap:20px;margin-top:28px}label{display:grid;gap:9px;font-size:12px;color:#c7c6d2}input,button{padding:13px 15px;border:1px solid #343443;border-radius:9px;background:#20212b;color:#d0cbdc;font:inherit;font-size:13px}button{background:#8273ad;color:#101116;border:0}button:disabled{opacity:.6}
.home{max-width:none;min-height:100svh;margin:0;padding:32px;display:flex;flex-direction:column;align-items:center;justify-content:center}.home h1{margin:0}.login-button{min-width:160px;margin-top:28px;padding:14px 24px;border-radius:10px;background:#b9adff;color:#101116;font-size:15px;font-weight:600;text-align:center}.login-button:hover{background:#c8bfff;text-decoration:none}
code{font-family:ui-monospace,Consolas,monospace;background:#20212b;padding:2px 6px;border-radius:5px;font-size:.9em;overflow-wrap:anywhere}
@media(max-width:540px){input{font-size:16px}}

/* Public landing only. The sign-in handoff keeps the base styles above. */
.landing{background:#0e121b;color:#f2f4fa;min-width:0}
.landing-shell{max-width:1440px;min-height:100svh;margin:auto;padding:32px clamp(24px,6vw,88px) 24px;display:flex;flex-direction:column;overflow:hidden;background:radial-gradient(ellipse at 81% 45%,#18213c66,transparent 48%)}
.landing-header,.landing-footer{display:flex;align-items:center;justify-content:space-between;gap:20px}
.landing-header{min-height:36px;justify-content:flex-end}
.landing .landing-access{font-size:12px;letter-spacing:.04em;font-weight:400;color:#aab5c9}
.landing-main{position:relative;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);align-items:center;gap:40px;flex:1;width:100%;max-width:none;margin:0;padding:100px 0 112px}
.landing-copy{position:relative;z-index:1}
.landing .landing-eyebrow{font-size:12px;font-weight:500;line-height:1.5;letter-spacing:.12em;text-transform:uppercase;color:#aebddf;margin:0 0 24px}
.landing h1{font-size:clamp(64px,7.5vw,104px);font-weight:500;line-height:1.04;letter-spacing:-.065em;margin:0 0 28px;color:#f2f4fa}
.landing .landing-description{max-width:340px;font-size:18px;line-height:1.65;color:#b9c3d5;margin:0}
.landing .landing-login{display:inline-flex;align-items:center;justify-content:space-between;gap:44px;min-height:52px;margin-top:36px;padding:14px 20px;background:#b6c6fa;border:1px solid #c6d2fb;border-radius:8px;color:#131c32;font-size:15px;font-weight:600;text-decoration:none;transition:background-color .15s ease,border-color .15s ease}
.landing .landing-login:hover{background:#ced9ff;border-color:#dce4ff;text-decoration:none}
.landing .landing-login:focus-visible{outline:3px solid #d7ccff;outline-offset:6px}
.landing .landing-note{margin:14px 0 0;font-size:12px;line-height:1.6;color:#a3afc6}
.landing-art{position:relative;display:grid;place-items:center;min-width:0;aspect-ratio:1;isolation:isolate}
.landing-art:before{content:"";position:absolute;inset:17%;background:radial-gradient(ellipse,#5268a826,transparent 72%);border-radius:50%;z-index:-1}
.landing-art img{position:relative;display:block;width:66%;max-width:310px;height:auto;filter:drop-shadow(0 12px 34px #6580c51a)}
.landing-frame{position:absolute;inset:8%;border:1px solid #788dd520;border-radius:3px;pointer-events:none}
.landing-frame-back{transform:translate(8%,-8%);border-color:#8371b71e}
.landing-frame-front{transform:translate(-8%,8%)}
.landing-footer{border-top:1px solid #8f9ebc20;padding-top:20px}
.landing .landing-footer span{font-size:11px;font-weight:400;letter-spacing:.045em;color:#99a5bc}
@media(max-width:760px){
  .landing-shell{padding:24px 28px 20px}
  .landing-main{gap:20px;padding:88px 0 96px;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr)}
  .landing h1{font-size:72px}
  .landing .landing-description{font-size:16px}
  .landing-art img{width:76%}
}
@media(max-width:580px){
  .landing-shell{padding:22px 24px 20px;background:radial-gradient(ellipse at 75% 57%,#18213c66,transparent 52%)}
  .landing-main{grid-template-columns:minmax(0,1fr);gap:24px;padding:64px 0 56px}
  .landing-copy{order:1}
  .landing-art{order:0;justify-self:end;width:154px;margin-right:14px}
  .landing-art img{width:70%}
  .landing h1{font-size:68px;margin-bottom:22px}
  .landing .landing-eyebrow{margin-bottom:18px;font-size:11px}
  .landing .landing-description{max-width:290px}
  .landing .landing-login{margin-top:28px}
  .landing .landing-access{font-size:11px}
}
@media(max-width:360px){.landing-shell{padding-inline:20px}.landing h1{font-size:58px}.landing-art{width:128px}.landing-main{padding-top:44px}}
@media(prefers-reduced-motion:reduce){.landing .landing-login{transition:none}}
