:root{color-scheme:dark;--void:#070811;--panel:#101425;--line:#2c3351;--ink:#eef0ff;--muted:#a5aec9;--violet:#b9a0ff;--ice:#7fdbea;font-family:"Avenir Next",Avenir,-apple-system,BlinkMacSystemFont,sans-serif}
*{box-sizing:border-box}body{margin:0;min-height:100vh;background:var(--void);color:var(--ink)}a{color:inherit}button,input{font:inherit}[hidden]{display:none!important}
.login-workspace{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(360px,.8fr);max-width:1600px;margin:auto}
.identity{position:relative;display:flex;flex-direction:column;overflow:hidden;padding:44px clamp(32px,6vw,100px);border-right:1px solid var(--line);background:radial-gradient(ellipse at 38% 58%,#17182d 0,transparent 64%)}
.brand{display:flex;align-items:center;gap:13px;text-decoration:none;font-size:19px;letter-spacing:.01em;width:fit-content}.brand img{border-radius:9px}.brand b{font-weight:500;color:var(--violet)}
.identity-title{margin-top:clamp(60px,12vh,140px);position:relative;z-index:1}.eyebrow{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin:0 0 22px}
h1{font-family:"Avenir Next Condensed","Arial Narrow",sans-serif;font-size:clamp(46px,5.6vw,86px);font-weight:500;letter-spacing:-.035em;line-height:1.05;margin:0;white-space:nowrap}h1 span{color:var(--violet)}.with-tenet{font-size:26px;font-weight:400;margin:12px 0;color:var(--muted)}.with-tenet strong{color:var(--ink);font-weight:500}
.context-map{display:block;width:calc(100% + 40px);max-height:330px;margin:10px -20px 0}.identity-footer{font-size:12px;color:var(--muted);margin:auto 0 0;padding-top:32px}
.sign-in{align-self:center;width:100%;max-width:450px;margin:0 auto;padding:70px 44px}.form-heading{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:12px}.form-heading p{margin:0}.tenet-mark{display:grid;place-items:center;width:29px;height:29px;border:1px solid #66558e;border-radius:8px;color:#d8c8ff;font-family:"Avenir Next Condensed",sans-serif;font-size:17px;background:#201934}
h2{font-size:36px;font-weight:500;letter-spacing:-.035em;line-height:1.2;margin:27px 0 9px}.form-description{color:var(--muted);font-size:14px;margin:0 0 32px}form{display:flex;flex-direction:column}label{font-size:12px;font-weight:500;margin-bottom:9px}input{width:100%;height:48px;border:1px solid var(--line);border-radius:8px;padding:0 14px;background:var(--panel);color:var(--ink);font-size:14px;margin-bottom:23px;transition:border-color .15s}input::placeholder{color:#76809c}input:hover{border-color:#5b6080}input:focus-visible{outline:2px solid var(--violet);outline-offset:2px}
button{display:flex;align-items:center;justify-content:space-between;min-height:48px;border:0;border-radius:8px;padding:0 16px;background:var(--violet);color:#181026;font-weight:600;font-size:13px;cursor:pointer;margin-top:5px}button:hover{background:#cbb8ff}button:focus-visible,a:focus-visible{outline:2px solid var(--ice);outline-offset:4px}button:disabled{opacity:.65;cursor:wait}.login-error{font-size:13px;line-height:1.5;color:#ffb5ba;margin:-5px 0 18px}.form-footer{font-size:11px;color:#7d88a5;margin:40px 0 0}.form-footer span{padding:0 8px}
@media(max-width:760px){.login-workspace{grid-template-columns:1fr}.identity{padding:24px 26px;border-right:0;border-bottom:1px solid var(--line)}.identity-title{margin-top:38px}.eyebrow{margin-bottom:12px}h1{font-size:50px}.with-tenet{font-size:22px}.context-map,.identity-footer{display:none}.sign-in{padding:32px 26px 42px;max-width:460px}h2{font-size:29px;margin-top:18px}.form-description{margin-bottom:25px}.form-footer{margin-top:26px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}

/* EtherealAI appearance cycle: this auth-local skin consumes the shared materials.
   Markup, field visibility, validation, submission and navigation remain owned by auth. */
:root[data-ethereal-theme] {
  --void: var(--et-surface);
  --ink: var(--et-text);
  --violet: var(--et-violet);
  --ice: var(--et-positive);
}
:root[data-ethereal-theme] .login-workspace .identity {
  background-color: var(--et-surface);
  background-image: var(--et-texture);
}
:root[data-ethereal-theme] .login-workspace :is(.brand, .with-tenet strong) { color: var(--et-text); }
:root[data-ethereal-theme] .login-workspace :is(.brand b, h1 span) { color: var(--et-violet); }
:root[data-ethereal-theme] .login-workspace .tenet-mark {
  color: var(--et-violet);
  border-color: var(--et-line);
  background: var(--et-wash-strong);
}
:root[data-ethereal-theme] .login-workspace :is(.identity-footer, .form-footer) { color: var(--et-muted); }
:root[data-ethereal-theme] .login-workspace input::placeholder { color: var(--et-muted); }
:root[data-ethereal-theme] .login-workspace .login-error { color: var(--et-negative); }
:root[data-ethereal-theme] .login-workspace #login-submit { background: var(--et-violet); color: var(--et-ink); }
:root[data-ethereal-theme] .login-workspace #login-submit:hover { background: var(--et-accent); }
:root[data-ethereal-theme] .login-workspace #loginForm input:hover { border-color: var(--et-accent); }
:root[data-ethereal-theme] .login-workspace .context-map [stroke] { stroke: var(--et-chart); }
:root[data-ethereal-theme] .login-workspace .context-map g[fill] { fill: var(--et-positive); }
:root[data-ethereal-theme] .login-workspace .context-map > circle[fill]:not([fill^="url"]) { fill: var(--et-accent); }
:root[data-ethereal-theme] .login-workspace .context-map stop { stop-color: var(--et-chart); }
:root[data-ethereal-theme] .login-workspace .context-map text { fill: var(--et-muted); }
:root[data-ethereal-theme] .login-workspace .context-map text[fill] { fill: var(--et-accent); }
