/* TERA Coding Space v5.26 authentication surfaces
   Scientific entry experience. Customer and Administration remain separate trust surfaces. */

html,body{min-height:100%}
body.auth-entry-page{margin:0;min-height:100vh;font-size:18px;background:var(--bg);color:var(--ink);overflow-x:hidden}
body.auth-entry-page *{box-sizing:border-box}
.auth-entry-page button,.auth-entry-page input{font:inherit}
.auth-entry-page button{min-height:46px}
.auth-entry-page a{color:inherit}

.auth-entry{
  position:relative;min-height:100vh;display:grid;grid-template-rows:auto 1fr auto;isolation:isolate;
  background:
    radial-gradient(circle at 10% 27%,color-mix(in srgb,var(--blue) 8%,transparent),transparent 26%),
    radial-gradient(circle at 86% 28%,color-mix(in srgb,var(--blue) 10%,transparent),transparent 24%),
    linear-gradient(var(--bg),var(--bg));
}
.auth-entry::before{
  content:"";position:fixed;inset:0;z-index:-3;pointer-events:none;opacity:.62;
  background-image:
    linear-gradient(color-mix(in srgb,var(--blue) 9%,transparent) 1px,transparent 1px),
    linear-gradient(90deg,color-mix(in srgb,var(--blue) 9%,transparent) 1px,transparent 1px);
  background-size:52px 52px;
  mask-image:linear-gradient(to bottom,transparent 6%,#000 18%,#000 82%,transparent 96%);
}
html[data-theme="dark"] .auth-entry::before{opacity:.28}

.auth-topbar{
  min-height:86px;padding:12px clamp(20px,4vw,64px);display:grid;grid-template-columns:minmax(250px,.8fr) minmax(420px,1.4fr) auto;
  align-items:center;gap:28px;background:color-mix(in srgb,var(--surface) 92%,transparent);backdrop-filter:blur(16px);
  border-bottom:2px solid var(--gold);position:relative;z-index:20;
}
.auth-corporate{display:flex;align-items:center;gap:16px;min-width:0}
.auth-corporate-wordmark{font:800 1.7rem Georgia,serif;letter-spacing:.04em;color:var(--blue2);line-height:1}
.auth-corporate-meta{display:grid;gap:2px;padding-left:16px;border-left:1px solid var(--border);font-weight:760;color:var(--muted)}
.auth-trustline{display:grid;gap:3px;min-width:0}
.auth-trustline strong{font-weight:850;color:var(--ink)}
.auth-trustline span{color:var(--muted);font-size:1rem}
.auth-top-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px;flex-wrap:wrap}
.auth-segment{display:flex;align-items:center;padding:3px;border:1px solid var(--border);border-radius:12px;background:var(--surface2);box-shadow:0 1px 0 color-mix(in srgb,var(--surface) 80%,transparent)}
.auth-seg-btn{appearance:none;border:0;background:transparent;color:var(--muted);font-weight:850;padding:7px 12px;border-radius:9px;cursor:pointer;min-width:48px}
.auth-seg-btn.active{background:var(--surface);color:var(--blue2);box-shadow:0 2px 8px color-mix(in srgb,var(--blue2) 12%,transparent);outline:1px solid color-mix(in srgb,var(--gold) 45%,var(--border))}
.auth-proof{font-weight:850;font-style:italic;color:var(--gold);line-height:1.25;white-space:nowrap;padding-left:12px;border-left:1px solid var(--border)}

.auth-stage{position:relative;display:grid;place-items:center;padding:clamp(34px,5vw,74px) clamp(18px,4vw,60px);min-height:calc(100vh - 156px);overflow:hidden}
.auth-science{position:absolute;inset:0;z-index:-1;pointer-events:none;overflow:hidden;color:color-mix(in srgb,var(--blue) 30%,transparent)}
.auth-science .formula{position:absolute;font:500 clamp(1.35rem,2.3vw,2.5rem) Georgia,serif;color:color-mix(in srgb,var(--blue) 36%,transparent);letter-spacing:.02em}
.auth-science .formula.a{left:2.5%;top:10%;transform:rotate(-2deg)}
.auth-science .formula.b{right:2.5%;top:13%;transform:rotate(1deg)}
.auth-science .formula.c{right:5%;bottom:13%;font-size:clamp(1rem,1.6vw,1.65rem)}
.auth-science .orbit{position:absolute;border:1px solid color-mix(in srgb,var(--blue) 22%,transparent);border-radius:50%;width:520px;height:160px;transform:rotate(-13deg);left:-100px;bottom:5%}
.auth-science .orbit::before,.auth-science .orbit::after{content:"";position:absolute;border:1px solid color-mix(in srgb,var(--blue) 17%,transparent);border-radius:50%;inset:24px -55px}
.auth-science .orbit::after{inset:51px -95px;transform:rotate(13deg)}
.auth-science .plot{position:absolute;right:0;top:22%;width:min(390px,30vw);height:280px;opacity:.58}
.auth-science .mesh{position:absolute;left:0;bottom:0;width:min(370px,30vw);height:330px;opacity:.52}
html[data-theme="dark"] .auth-science .formula{color:color-mix(in srgb,var(--blue) 34%,transparent)}
html[data-theme="dark"] .auth-science .plot,html[data-theme="dark"] .auth-science .mesh{opacity:.32}

.auth-shell{
  width:min(1120px,100%);min-height:650px;display:grid;grid-template-columns:minmax(380px,.92fr) minmax(500px,1.08fr);
  border:1px solid var(--border);border-radius:22px;overflow:hidden;background:var(--surface);box-shadow:0 22px 55px rgba(9,42,78,.14);position:relative;
}
html[data-theme="dark"] .auth-shell{box-shadow:0 28px 70px rgba(0,0,0,.38)}

.auth-brand-panel{
  position:relative;padding:38px 38px 34px;color:#f7fbff;display:flex;flex-direction:column;justify-content:space-between;gap:28px;overflow:hidden;
  background:
    radial-gradient(circle at 82% 20%,rgba(75,171,255,.22),transparent 28%),
    radial-gradient(circle at 12% 92%,rgba(44,128,220,.34),transparent 34%),
    linear-gradient(150deg,#052d53 0%,#0b4478 48%,#052b4c 100%);
}
.auth-brand-panel::before{content:"";position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:46px 46px;mask-image:linear-gradient(145deg,#000 10%,transparent 82%)}
.auth-brand-panel::after{content:"";position:absolute;width:420px;height:420px;right:-190px;top:125px;border:1px solid rgba(131,195,255,.26);border-radius:50%;box-shadow:0 0 0 44px rgba(131,195,255,.04),0 0 0 92px rgba(131,195,255,.028);pointer-events:none}
.auth-brand-main,.auth-brand-foot{position:relative;z-index:2}
.auth-brand-symbols{display:flex;align-items:center;gap:24px;margin-bottom:28px}
.auth-brand-t{width:58px;height:58px;display:grid;place-items:center;border-radius:50%;background:#fff;color:#8a6827;border:2px solid #e2bd67;font:700 2rem Georgia,serif;box-shadow:0 7px 20px rgba(0,0,0,.12)}
.auth-gamma{font:700 3.2rem Georgia,serif;color:#eac86d;line-height:1}
.auth-brand-panel h1{margin:0;font-size:clamp(2.1rem,3.3vw,3.05rem);line-height:1.04;letter-spacing:-.03em;color:#fff}
.auth-brand-subtitle{margin:10px 0 26px;color:#deebf7;font-size:1.08rem}
.auth-capabilities{list-style:none;margin:0;padding:0;display:grid;gap:12px;color:#edf6ff}
.auth-capabilities li{display:grid;grid-template-columns:30px 1fr;gap:12px;align-items:center}
.auth-capabilities .cap-icon{width:28px;height:28px;border:1px solid rgba(255,255,255,.34);border-radius:8px;display:grid;place-items:center;font-size:1rem;font-weight:900;color:#eac86d;background:rgba(1,25,45,.18)}
.auth-brand-motto{font-weight:900;font-size:1.28rem;color:#f0ca6e;line-height:1.35;margin-bottom:16px}
.auth-brand-principles{padding-top:16px;border-top:1px solid rgba(255,255,255,.24);font-weight:760;color:#eff6ff}
.auth-brand-company{margin-top:18px;color:#d9e9f8}

.auth-card{padding:42px 42px 36px;display:flex;flex-direction:column;justify-content:center;min-width:0;background:linear-gradient(180deg,color-mix(in srgb,var(--surface) 98%,var(--blue) 2%),var(--surface))}
.auth-card .eyebrow{align-self:flex-start;margin-bottom:12px}
.auth-card h2{font-size:clamp(2rem,3.1vw,2.55rem);line-height:1.04;margin:0 0 14px;letter-spacing:-.025em;color:var(--ink)}
.auth-lead{margin:0 0 28px;color:var(--muted);line-height:1.6;max-width:58ch}
.auth-bootstrap-label{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px;font-weight:850;color:var(--ink)}
.auth-bootstrap-label span:last-child{font-size:1rem;color:var(--muted);font-weight:760}
.auth-card .field{margin-bottom:18px}
.auth-card .field label{display:block;margin-bottom:8px;font-weight:850}
.auth-card .field input{width:100%;min-height:52px;padding:12px 14px;border:1px solid var(--border);border-radius:11px;background:var(--surface);color:var(--ink);box-shadow:inset 0 1px 1px rgba(0,0,0,.02)}
.auth-card .field input:focus{outline:3px solid color-mix(in srgb,var(--blue) 22%,transparent);border-color:var(--blue)}
.auth-card .field small{display:block;margin-top:9px;color:var(--muted);line-height:1.55;font-size:1rem}
.auth-card .btn.full{width:100%;min-height:54px;font-weight:900;border-radius:11px}
.auth-error{display:none;margin:14px 0}.auth-error.show{display:block}
.auth-security-note{margin-top:18px;padding:16px 17px;border:1px solid color-mix(in srgb,var(--blue) 24%,var(--border));border-radius:12px;background:color-mix(in srgb,var(--surface2) 70%,var(--blue) 4%);display:grid;grid-template-columns:34px 1fr;gap:12px;align-items:start;color:var(--ink)}
.auth-security-note .security-mark{width:30px;height:30px;border:2px solid var(--blue);color:var(--blue);border-radius:50%;display:grid;place-items:center;font-weight:900}
.auth-security-note strong{display:block;margin-bottom:3px}
.auth-security-note span{color:var(--muted);line-height:1.5}
.auth-production-note{margin-top:16px;padding-top:16px;border-top:1px solid var(--border);color:var(--muted);line-height:1.5}

.auth-footerbar{min-height:70px;padding:16px clamp(20px,4vw,64px);display:grid;grid-template-columns:1fr auto;align-items:center;gap:20px;background:#062b4c;color:#eaf4ff;border-top:1px solid rgba(255,255,255,.1)}
.auth-footer-items{display:flex;gap:26px;flex-wrap:wrap;color:#e2edf8}
.auth-footer-meta{text-align:right;color:#d7e7f6}

/* Administration variant: same TERA family, visibly privileged and separate. */
.auth-entry[data-auth-surface="admin"] .auth-brand-panel{
  background:
    radial-gradient(circle at 80% 17%,rgba(224,190,104,.18),transparent 28%),
    radial-gradient(circle at 10% 92%,rgba(47,119,179,.28),transparent 34%),
    linear-gradient(150deg,#082942 0%,#123858 48%,#071f33 100%);
}
.auth-entry[data-auth-surface="admin"] .auth-card{background:linear-gradient(180deg,color-mix(in srgb,var(--surface) 97%,var(--gold) 3%),var(--surface))}
.auth-entry[data-auth-surface="admin"] .auth-security-note{border-color:color-mix(in srgb,var(--gold) 35%,var(--border));background:color-mix(in srgb,var(--gold2) 45%,var(--surface))}
.auth-entry[data-auth-surface="admin"] .auth-security-note .security-mark{border-color:var(--gold);color:color-mix(in srgb,var(--gold) 82%,var(--ink))}

@media (prefers-reduced-motion:reduce){.auth-entry *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
@media(max-width:1080px){
  .auth-topbar{grid-template-columns:1fr auto}.auth-trustline{display:none}.auth-proof{display:none}
  .auth-shell{grid-template-columns:minmax(320px,.86fr) minmax(440px,1.14fr)}
  .auth-science .plot,.auth-science .mesh{opacity:.25}
}
@media(max-width:820px){
  .auth-topbar{grid-template-columns:1fr}.auth-top-actions{justify-content:flex-start}.auth-corporate-meta{display:none}
  .auth-stage{padding:24px 14px}.auth-shell{grid-template-columns:1fr;min-height:0}
  .auth-brand-panel{padding:28px}.auth-capabilities{grid-template-columns:1fr 1fr}.auth-card{padding:30px 28px}
  .auth-science .formula,.auth-science .plot,.auth-science .mesh,.auth-science .orbit{display:none}
  .auth-footerbar{grid-template-columns:1fr}.auth-footer-meta{text-align:left}
}
@media(max-width:560px){
  .auth-topbar{padding:12px 16px}.auth-top-actions{gap:8px}.auth-seg-btn{padding-inline:9px}
  .auth-corporate-wordmark{font-size:1.45rem}.auth-brand-panel{padding:24px}.auth-capabilities{grid-template-columns:1fr}.auth-card{padding:26px 22px}
  .auth-footerbar{padding:16px}.auth-footer-items{gap:14px}
}

/* v5.26.1 bootstrap launcher binding */
.auth-launch-binding{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:9px;padding:9px 11px;border:1px solid var(--auth-border,#c8d6e6);border-radius:10px;background:color-mix(in srgb,var(--auth-panel,#fff) 88%,#dfeaf6 12%);font-size:1rem}
.auth-launch-binding span{color:var(--auth-muted,#526b88)}
.auth-launch-binding strong{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.035em;overflow-wrap:anywhere}

/* v5.26.3 · Separate Local Accounts & Password Security
   Research/customer entry mirrors the canonical TERA scientific composition while
   preserving the v5.26.1 bootstrap/session security boundary. */
.auth-entry[data-auth-surface="research"] .auth-stage{
  padding:clamp(28px,4vw,54px) clamp(18px,4vw,60px);
  min-height:calc(100vh - 156px);
}
.auth-entry[data-auth-surface="research"] .auth-shell{
  width:min(1100px,100%);
  min-height:690px;
  grid-template-columns:minmax(410px,.94fr) minmax(520px,1.06fr);
  border-radius:20px;
  box-shadow:0 22px 58px rgba(9,42,78,.16);
}
.auth-entry[data-auth-surface="research"] .auth-brand-panel{
  padding:34px 34px 28px;
  background:
    radial-gradient(circle at 86% 17%,rgba(58,151,233,.22),transparent 27%),
    radial-gradient(circle at 2% 88%,rgba(27,107,176,.32),transparent 32%),
    linear-gradient(154deg,#052c52 0%,#0a3d6e 48%,#052844 100%);
}
.auth-entry[data-auth-surface="research"] .auth-brand-panel::after{
  width:360px;height:360px;right:-166px;top:96px;
}
.auth-entry[data-auth-surface="research"] .auth-brand-symbols{margin-bottom:20px}
.auth-entry[data-auth-surface="research"] .auth-brand-panel h1{font-size:clamp(2.2rem,3.25vw,3rem)}
.auth-entry[data-auth-surface="research"] .auth-brand-subtitle{margin:9px 0 22px}
.auth-entry[data-auth-surface="research"] .auth-capabilities{gap:9px}
.auth-entry[data-auth-surface="research"] .auth-capabilities li{grid-template-columns:32px 1fr;gap:11px}
.auth-entry[data-auth-surface="research"] .auth-capabilities .cap-icon{
  width:30px;height:30px;border:0;border-radius:0;background:transparent;color:#f3fbff;padding:2px;
}
.auth-entry[data-auth-surface="research"] .auth-capabilities .cap-icon svg{
  width:100%;height:100%;display:block;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;
}
.auth-entry[data-auth-surface="research"] .auth-brand-motto{font-size:1.34rem;margin-bottom:12px}
.auth-entry[data-auth-surface="research"] .auth-brand-principles{font-size:1rem;padding-top:12px}
.auth-entry[data-auth-surface="research"] .auth-brand-company{margin-top:12px;font-size:1rem}
.auth-entry[data-auth-surface="research"] .auth-card{padding:40px 42px 34px;justify-content:center}
.auth-entry[data-auth-surface="research"] .auth-card h2{font-size:clamp(2rem,3vw,2.5rem)}
.auth-entry[data-auth-surface="research"] .auth-lead{margin-bottom:24px;max-width:52ch}
.auth-entry[data-auth-surface="research"] .auth-access-field label{font-size:1.02rem}
.auth-entry[data-auth-surface="research"] .auth-launch-binding{margin-top:10px}
.auth-entry[data-auth-surface="research"] .auth-security-note-compact{margin-top:20px;padding:15px 17px;align-items:center}
.auth-entry[data-auth-surface="research"] .auth-security-note-compact .security-mark{width:28px;height:28px}
.auth-entry[data-auth-surface="research"] .auth-entry-discovery{display:grid;gap:5px;margin-top:20px;padding-top:20px}
.auth-entry[data-auth-surface="research"] .auth-entry-discovery strong{color:var(--ink)}

/* Deterministic local scientific backdrop. */
.auth-science-research .surface-art{
  position:absolute;left:1.25%;top:22%;width:min(355px,27vw);height:auto;opacity:.68;
  filter:saturate(.88) drop-shadow(0 12px 22px rgba(18,77,129,.08));
}
.auth-science-research .formula.a{left:3.1%;top:7.5%}
.auth-science-research .formula.b{right:3.6%;top:8.5%}
.auth-science-research .formula.c{right:8%;bottom:16%}
.auth-science-research .orbit{width:430px;height:145px;left:-78px;bottom:1.5%;opacity:.86}
.auth-science-research .plot{right:-1.5%;top:17%;width:min(355px,27vw);height:258px;opacity:.48}
.auth-science-research .data-cloud{position:absolute;right:1.6%;top:48%;width:min(250px,19vw);color:color-mix(in srgb,var(--blue) 46%,transparent);opacity:.70}
.auth-science-research .polyhedron{position:absolute;right:2.9%;bottom:7.5%;width:min(125px,10vw);color:color-mix(in srgb,var(--blue) 36%,transparent)}
.auth-science-words{position:absolute;right:2.4%;top:34%;font-size:1rem;line-height:1.95;letter-spacing:.18em;font-weight:800;color:color-mix(in srgb,var(--blue) 42%,transparent)}
.auth-science-proof{position:absolute;right:1.6%;bottom:1.9%;font-size:1rem;line-height:1.55;letter-spacing:.14em;font-weight:800;color:color-mix(in srgb,var(--blue) 40%,transparent)}
html[data-theme="dark"] .auth-science-research .surface-art{opacity:.46;filter:saturate(.78) brightness(.82)}
html[data-theme="dark"] .auth-science-words,html[data-theme="dark"] .auth-science-proof{color:color-mix(in srgb,#8bc6ff 42%,transparent)}

@media(max-width:1320px){
  .auth-science-research .surface-art{left:-5%;width:min(330px,25vw);opacity:.43}
  .auth-science-research .data-cloud,.auth-science-research .polyhedron,.auth-science-words,.auth-science-proof{opacity:.38}
}
@media(max-width:1080px){
  .auth-entry[data-auth-surface="research"] .auth-shell{grid-template-columns:minmax(340px,.88fr) minmax(450px,1.12fr)}
  .auth-science-research .surface-art{opacity:.20}
  .auth-science-research .data-cloud,.auth-science-research .polyhedron,.auth-science-words,.auth-science-proof{display:none}
}
@media(max-width:820px){
  .auth-entry[data-auth-surface="research"] .auth-shell{grid-template-columns:1fr;min-height:0}
  .auth-entry[data-auth-surface="research"] .auth-brand-panel{padding:28px}
  .auth-entry[data-auth-surface="research"] .auth-card{padding:30px 28px}
  .auth-science-research .surface-art,.auth-science-research .data-cloud,.auth-science-research .polyhedron,.auth-science-words,.auth-science-proof{display:none}
}


/* v5.28.0 · canonical animated T mark on entry surfaces */
.auth-brand-t{background:#071b38!important;color:#f2bd2c!important;border-color:#d3a62a!important}

/* v5.29.0 · canonical footer links and narrow-screen shell hardening */
.auth-institutional-footer .tera-footer-legal nav a{font-weight:800;color:#0656c9;text-decoration:none;display:inline-flex;align-items:center;min-height:44px}
.auth-institutional-footer .tera-footer-legal nav a:hover,.auth-institutional-footer .tera-footer-legal nav a:focus-visible{text-decoration:underline;text-underline-offset:4px}
@media(max-width:720px){
 html,body,.auth-shell{max-width:100%;overflow-x:hidden}
 .auth-institutional-footer .tera-footer-main,.auth-institutional-footer .tera-footer-lower{padding-left:14px;padding-right:14px}
 .auth-institutional-footer .tera-footer-legal nav{display:grid;grid-template-columns:1fr 1fr;gap:4px 12px}
}
@media(max-width:420px){.auth-institutional-footer .tera-footer-legal nav{grid-template-columns:1fr}}

/* Canonical scientific motion refinement: mathematical objects remain real SVG/CSS primitives. */
.auth-science-research .surface-art{animation:teraSurfaceFloat 11s ease-in-out infinite;transform-origin:50% 55%}
.auth-science-research .plot path:nth-of-type(2){stroke-dasharray:720;stroke-dashoffset:720;animation:teraTrace 8s ease-in-out infinite}
.auth-science-research .plot circle{animation:teraPointPulse 4.8s ease-in-out infinite;transform-box:fill-box;transform-origin:center}
.auth-science-research .plot circle:nth-of-type(2){animation-delay:.55s}.auth-science-research .plot circle:nth-of-type(3){animation-delay:1.1s}.auth-science-research .plot circle:nth-of-type(4){animation-delay:1.65s}.auth-science-research .plot circle:nth-of-type(5){animation-delay:2.2s}
.auth-science-research .data-cloud circle{animation:teraDataRise 5.8s ease-in-out infinite;transform-box:fill-box;transform-origin:center}.auth-science-research .data-cloud rect{animation:teraBarBreathe 5.8s ease-in-out infinite;transform-box:fill-box;transform-origin:bottom}
.auth-science-research .polyhedron{animation:teraPolyDrift 12s ease-in-out infinite;transform-origin:center}
.auth-science-research .orbit{animation:teraOrbitDrift 14s ease-in-out infinite}
.auth-science-research .parametric-knot{position:absolute;right:4.2%;top:55%;width:min(300px,22vw);opacity:.58;overflow:visible;filter:drop-shadow(0 8px 18px rgba(31,111,185,.08))}
.auth-science-research .knot-trace{stroke-dasharray:900;stroke-dashoffset:900;animation:teraTrace 10s ease-in-out infinite}.auth-science-research .knot-trace-b{animation-delay:1.6s}
.auth-science-research .knot-node{animation:teraPointPulse 3.8s ease-in-out infinite;transform-box:fill-box;transform-origin:center}.auth-science-research .knot-node-b{animation-delay:1.1s}
@keyframes teraSurfaceFloat{0%,100%{transform:translate3d(0,0,0) rotate(-.25deg)}50%{transform:translate3d(7px,-9px,0) rotate(.45deg)}}
@keyframes teraTrace{0%{stroke-dashoffset:900;opacity:.18}38%,72%{stroke-dashoffset:0;opacity:.82}100%{stroke-dashoffset:-900;opacity:.18}}
@keyframes teraPointPulse{0%,100%{transform:scale(.82);opacity:.38}50%{transform:scale(1.35);opacity:.9}}
@keyframes teraDataRise{0%,100%{transform:translateY(3px);opacity:.35}50%{transform:translateY(-5px);opacity:.78}}
@keyframes teraBarBreathe{0%,100%{transform:scaleY(.72)}50%{transform:scaleY(1.08)}}
@keyframes teraPolyDrift{0%,100%{transform:rotate(-2deg) translateY(0)}50%{transform:rotate(4deg) translateY(-7px)}}
@keyframes teraOrbitDrift{0%,100%{transform:rotate(-13deg) translateX(0)}50%{transform:rotate(-9deg) translateX(12px)}}
html[data-theme="dark"] .auth-science-research .parametric-knot{opacity:.42;filter:saturate(.8) brightness(.9)}
@media(max-width:1320px){.auth-science-research .parametric-knot{right:1%;opacity:.34}}
@media(max-width:1080px){.auth-science-research .parametric-knot{display:none}}
@media(prefers-reduced-motion:reduce){.auth-science-research .surface-art,.auth-science-research .plot path,.auth-science-research .plot circle,.auth-science-research .data-cloud circle,.auth-science-research .data-cloud rect,.auth-science-research .polyhedron,.auth-science-research .orbit,.auth-science-research .knot-trace,.auth-science-research .knot-node{animation:none!important;stroke-dashoffset:0!important;transform:none!important}}


/* v5.37.0 · Canonical Research Entry Hero
   Approved composition: animated mathematics on the left, the existing TERA access
   surface as the stable center authority, and animated research/evidence progression
   on the right. The institutional footer remains unchanged. */
.auth-entry[data-auth-surface="research"] .auth-stage{
  isolation:isolate;
  min-height:clamp(760px,calc(100vh - 156px),980px);
  padding:clamp(28px,3.6vw,58px) 16px;
  overflow:hidden;
}
.auth-entry[data-auth-surface="research"] .auth-shell{
  position:relative;z-index:4;
  width:min(1080px,68vw);
  min-height:690px;
  box-shadow:0 26px 70px rgba(8,41,76,.18),0 0 0 1px color-mix(in srgb,var(--blue) 8%,transparent);
}
.auth-hero-wings{position:absolute;inset:0;z-index:1;pointer-events:none;overflow:hidden}
.auth-hero-wing{
  position:absolute;top:20px;bottom:20px;
  width:max(250px,calc((100% - min(1080px,68vw))/2 + 48px));
  overflow:hidden;opacity:.94;
  border-radius:24px;
  background:color-mix(in srgb,#eff7ff 92%,var(--surface));
  box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--blue) 14%,transparent);
}
.auth-hero-wing-left{left:-10px;mask-image:linear-gradient(90deg,#000 0%,#000 76%,transparent 100%)}
.auth-hero-wing-right{right:-10px;mask-image:linear-gradient(270deg,#000 0%,#000 76%,transparent 100%)}
.auth-hero-wing img{
  width:100%;height:100%;display:block;object-fit:cover;
  filter:saturate(.94) contrast(.98) brightness(1.02);
  will-change:transform,filter;
}
.auth-hero-wing-left img{object-position:50% 46%;animation:teraHeroLeftDrift 18s ease-in-out infinite alternate}
.auth-hero-wing-right img{object-position:50% 48%;animation:teraHeroRightDrift 16s ease-in-out infinite alternate}
.auth-hero-wing::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(14,78,137,.02) 50%,rgba(255,195,56,.035));
}
.auth-hero-glow{position:absolute;width:120px;height:120px;border-radius:50%;filter:blur(18px);opacity:.24;mix-blend-mode:multiply}
.auth-hero-glow-a{left:28%;top:22%;background:#2e8ff2;animation:teraHeroGlowA 9s ease-in-out infinite}
.auth-hero-glow-b{right:20%;top:10%;background:#efbb35;animation:teraHeroGlowB 10s ease-in-out infinite}
.auth-hero-dot{position:absolute;width:10px;height:10px;border-radius:50%;background:#187ee9;box-shadow:0 0 0 5px rgba(24,126,233,.10),0 0 18px rgba(24,126,233,.5);opacity:.75}
.auth-hero-dot-b,.auth-hero-dot-d{background:#e4a914;box-shadow:0 0 0 5px rgba(228,169,20,.10),0 0 18px rgba(228,169,20,.5)}
.auth-hero-dot-a{left:17%;top:31%;animation:teraHeroDotA 8.5s ease-in-out infinite}
.auth-hero-dot-b{left:62%;top:64%;animation:teraHeroDotB 10.5s ease-in-out infinite}
.auth-hero-dot-c{right:20%;top:33%;animation:teraHeroDotC 8.8s ease-in-out infinite}
.auth-hero-dot-d{right:54%;top:61%;animation:teraHeroDotD 11s ease-in-out infinite}
html[data-theme="dark"] .auth-hero-wing{background:#061f3a;opacity:.76;box-shadow:inset 0 0 0 1px rgba(102,177,245,.10)}
html[data-theme="dark"] .auth-hero-wing img{filter:brightness(.48) saturate(.88) contrast(1.08)}
html[data-theme="dark"] .auth-hero-wing::after{background:linear-gradient(180deg,rgba(4,28,51,.20),rgba(4,28,51,.34))}
html[data-theme="dark"] .auth-hero-glow{mix-blend-mode:screen;opacity:.28}
@keyframes teraHeroLeftDrift{0%{transform:scale(1.03) translate3d(-1%,1%,0)}50%{transform:scale(1.07) translate3d(1.2%,-1.5%,0)}100%{transform:scale(1.045) translate3d(-.3%,-.6%,0)}}
@keyframes teraHeroRightDrift{0%{transform:scale(1.04) translate3d(1%,0,0)}50%{transform:scale(1.075) translate3d(-1.2%,-1.4%,0)}100%{transform:scale(1.05) translate3d(.4%,-.2%,0)}}
@keyframes teraHeroGlowA{0%,100%{transform:translate3d(-12px,6px,0) scale(.8);opacity:.12}50%{transform:translate3d(34px,-22px,0) scale(1.2);opacity:.32}}
@keyframes teraHeroGlowB{0%,100%{transform:translate3d(18px,-8px,0) scale(.82);opacity:.14}50%{transform:translate3d(-38px,35px,0) scale(1.25);opacity:.34}}
@keyframes teraHeroDotA{0%,100%{transform:translate3d(0,0,0);opacity:.34}50%{transform:translate3d(88px,-52px,0);opacity:.95}}
@keyframes teraHeroDotB{0%,100%{transform:translate3d(0,0,0);opacity:.32}50%{transform:translate3d(-72px,46px,0);opacity:.9}}
@keyframes teraHeroDotC{0%,100%{transform:translate3d(0,0,0);opacity:.36}50%{transform:translate3d(-98px,34px,0);opacity:.96}}
@keyframes teraHeroDotD{0%,100%{transform:translate3d(0,0,0);opacity:.3}50%{transform:translate3d(78px,-40px,0);opacity:.88}}
@media(max-width:1460px){
  .auth-entry[data-auth-surface="research"] .auth-shell{width:min(1040px,72vw)}
  .auth-hero-wing{width:max(220px,calc((100% - min(1040px,72vw))/2 + 40px));opacity:.82}
}
@media(max-width:1180px){
  .auth-entry[data-auth-surface="research"] .auth-shell{width:min(1040px,88vw)}
  .auth-hero-wing{opacity:.34;width:30vw}
  .auth-hero-wing-left{left:-11vw}.auth-hero-wing-right{right:-11vw}
}
@media(max-width:920px){
  .auth-entry[data-auth-surface="research"] .auth-shell{width:min(100%,760px)}
  .auth-hero-wings{display:none}
}
@media(prefers-reduced-motion:reduce){
  .auth-hero-wing img,.auth-hero-glow,.auth-hero-dot{animation:none!important;transform:none!important}
}

/* v5.37.0 · semantic motion overlays for the approved raster scientific art.
   The artwork remains authoritative; these low-amplitude vector layers make the
   mathematics visibly active without turning the entry surface into decoration. */
.auth-hero-live{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;opacity:.72;filter:drop-shadow(0 0 8px rgba(29,121,219,.10))}
.auth-hero-live path,.auth-hero-live ellipse{fill:none;vector-effect:non-scaling-stroke}
.auth-hero-trace{stroke-width:1.35;stroke-linecap:round;stroke-dasharray:.08 .045;animation:teraHeroTraceFlow 7.5s linear infinite}
.auth-hero-trace-blue{stroke:rgba(26,126,232,.78)}
.auth-hero-trace-gold{stroke:rgba(225,164,22,.82);animation-duration:9.6s}
.auth-hero-orbit-line{stroke:rgba(35,129,224,.34);stroke-width:1.1;stroke-dasharray:8 9;animation:teraHeroOrbitDash 10s linear infinite}
.auth-hero-runner{vector-effect:non-scaling-stroke;filter:drop-shadow(0 0 8px currentColor)}
.auth-hero-runner-blue{fill:#147fe8;color:#147fe8;stroke:#fff;stroke-width:1.2}
.auth-hero-runner-gold{fill:#e5aa1c;color:#e5aa1c;stroke:#fff;stroke-width:1.2}
.auth-hero-bars rect{fill:rgba(23,126,230,.38);transform-box:fill-box;transform-origin:center bottom;animation:teraHeroBarGrow 3.8s ease-in-out infinite}
.auth-hero-bars rect:nth-child(2){animation-delay:.18s}.auth-hero-bars rect:nth-child(3){animation-delay:.36s}.auth-hero-bars rect:nth-child(4){animation-delay:.54s}.auth-hero-bars rect:nth-child(5){animation-delay:.72s;fill:rgba(226,168,25,.55)}
.auth-hero-network{transform-box:fill-box;transform-origin:center;animation:teraHeroNetworkTurn 20s linear infinite}
.auth-hero-network path{stroke:rgba(29,120,219,.42);stroke-width:1.1}
.auth-hero-network circle{fill:#2c8bea;stroke:#fff;stroke-width:1}.auth-hero-network circle:nth-of-type(even){fill:#e1a519}.auth-hero-network-core{filter:drop-shadow(0 0 10px rgba(40,137,235,.7))}
@keyframes teraHeroTraceFlow{to{stroke-dashoffset:-.5}}
@keyframes teraHeroOrbitDash{to{stroke-dashoffset:-72}}
@keyframes teraHeroBarGrow{0%,100%{transform:scaleY(.66);opacity:.4}50%{transform:scaleY(1.04);opacity:.9}}
@keyframes teraHeroNetworkTurn{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.auth-hero-live{display:none!important}}


/* v7.0.0 · research sign-in, registration and password reset on one card (views). */
.auth-view[hidden]{display:none!important}
.auth-view{display:flex;flex-direction:column;min-width:0}
.auth-view-center{align-items:center;text-align:center}
.auth-view-center .auth-lead{max-width:44ch}
.auth-form{display:flex;flex-direction:column}
.auth-providers{display:grid;gap:10px;margin:0}
.auth-providers[hidden],.auth-or[hidden],.auth-sso[hidden],.auth-switch[hidden],.auth-plain[hidden],.auth-captcha[hidden],.auth-form[hidden]{display:none!important}
.auth-providers-label{font-weight:850;color:var(--ink)}
.auth-provider-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.auth-provider-row.is-single{grid-template-columns:1fr}
.auth-provider-row.is-three{grid-template-columns:repeat(3,minmax(0,1fr))}
.auth-provider{display:flex;align-items:center;justify-content:center;gap:12px;min-height:52px;padding:0 14px;border:1px solid var(--border);border-radius:11px;background:var(--surface);color:var(--ink);font:inherit;font-weight:800;cursor:pointer;min-width:0;transition:border-color .15s,box-shadow .15s,background .15s}
.auth-provider:hover,.auth-sso-btn:hover{border-color:color-mix(in srgb,var(--blue) 55%,var(--border));box-shadow:0 4px 14px rgba(9,42,78,.10)}
.auth-provider:focus-visible,.auth-sso-btn:focus-visible,.auth-pw-toggle:focus-visible,.auth-text-link:focus-visible{outline:3px solid color-mix(in srgb,var(--blue) 35%,transparent);outline-offset:2px}
.auth-provider-icon{width:24px;height:24px;flex:0 0 24px}
.auth-provider-icon-line{fill:none;stroke:var(--blue);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.auth-provider-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.is-busy{opacity:.65;pointer-events:none}
.auth-or{display:flex;align-items:center;gap:14px;margin:18px 0 14px;color:var(--muted);font-weight:760;text-transform:uppercase;letter-spacing:.06em}
.auth-or::before,.auth-or::after,.auth-sso-label::before,.auth-sso-label::after{content:"";flex:1;height:1px;background:var(--border)}
.auth-label-row{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:8px}
.auth-label-row label{margin:0!important}
.auth-hint{color:var(--muted)}
.auth-text-link{border:0;background:none;padding:0;color:var(--blue);font:inherit;font-weight:760;cursor:pointer;text-decoration:none;text-underline-offset:3px}
.auth-text-link:hover{text-decoration:underline}
.auth-pw{position:relative}
.auth-pw input{padding-right:56px!important}
.auth-pw-toggle{position:absolute;right:6px;top:50%;transform:translateY(-50%);width:42px;height:40px;display:grid;place-items:center;border:0;border-radius:9px;background:transparent;color:var(--muted);cursor:pointer}
.auth-pw-toggle:hover{background:color-mix(in srgb,var(--blue) 8%,transparent);color:var(--ink)}
.auth-pw-toggle svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.auth-meter{height:5px;margin-top:8px;border-radius:5px;background:color-mix(in srgb,var(--border) 70%,transparent);overflow:hidden}
.auth-meter i{display:block;height:100%;width:0;border-radius:5px;background:#c0392b;transition:width .2s,background .2s}
.auth-meter i[data-level="fair"]{background:#d99a1e}.auth-meter i[data-level="strong"]{background:#1f8a5b}
.auth-check{display:grid;grid-template-columns:22px 1fr;gap:12px;align-items:center;margin:2px 0 16px;line-height:1.45;color:var(--ink);cursor:pointer}
.auth-check input{width:20px;height:20px;margin:0;accent-color:var(--blue)}
.auth-check a,.auth-switch a,.auth-plain a,.auth-captcha a{color:var(--blue);font-weight:760;text-underline-offset:3px}
.auth-sso{display:grid;gap:12px;margin-top:18px}
.auth-sso-label{display:flex;align-items:center;gap:14px;color:var(--muted);font-weight:760}
.auth-sso-btn{display:flex;align-items:center;justify-content:center;gap:12px;min-height:52px;border:1px solid var(--border);border-radius:11px;background:var(--surface);color:var(--ink);font:inherit;font-weight:800;cursor:pointer}
.auth-switch{margin:18px 0 0;text-align:center;color:var(--muted)}
.auth-switch a{font-weight:850}
.auth-plain{margin:0 0 14px;color:var(--muted);line-height:1.5}
.auth-captcha{margin:16px 0 0;color:var(--muted);line-height:1.45;text-align:center}
.grecaptcha-badge{visibility:hidden!important}
.auth-badge-icon{width:64px;height:64px;display:grid;place-items:center;border-radius:50%;margin:4px 0 14px;background:color-mix(in srgb,var(--blue) 10%,var(--surface));border:1px solid color-mix(in srgb,var(--blue) 25%,var(--border))}
.auth-badge-icon svg{width:30px;height:30px;fill:none;stroke:var(--blue);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.auth-view-center .btn.full{margin-top:6px}
.auth-card:is([data-view="sent"],[data-view="verify"]) .eyebrow{align-self:center}
.auth-badge-icon[hidden]{display:none}
.auth-error.info{border-color:color-mix(in srgb,var(--blue) 30%,var(--border));background:color-mix(in srgb,var(--surface2) 70%,var(--blue) 5%);color:var(--ink)}
.auth-error.good{border-color:color-mix(in srgb,#1f8a5b 40%,var(--border));background:color-mix(in srgb,var(--surface) 88%,#1f8a5b 10%);color:var(--ink)}
.auth-msg-action{margin-left:4px}
.auth-card.is-finishing{opacity:.6;pointer-events:none}
html[data-theme="dark"] :is(.auth-provider,.auth-sso-btn){background:color-mix(in srgb,var(--surface) 88%,#fff 4%)}
html[data-theme="dark"] .auth-provider-icon-line,html[data-theme="dark"] .auth-badge-icon svg{stroke:#8cc4ff}
html[data-theme="dark"] :is(.auth-check a,.auth-switch a,.auth-plain a,.auth-captcha a,.auth-text-link){color:#8cc4ff}
@media(max-width:560px){.auth-provider-row{grid-template-columns:1fr}}
