/* Sign-in one-pager — Linear branding (design/LINEAR-REFERENCE: void #08090a, carbon, obsidian, graphite hairlines,
   paper/mist/fog inks, acid lime for the one primary action of each view, Inter 400/510/590 with cv01 ss03 zero,
   radii 6 / 12 / pill). Scoped to body.lin so the rest of the platform keeps its own sheet. Dark only. */
.lin{
  --void:#08090a; --carbon:#0f1011; --obsidian:#161718; --graphite:#23252a; --smoke:#383b3f;
  --ash:#62666d; --fog:#8a8f98; --mist:#d0d6e0; --paper:#ffffff; --lime:#e4f222; --on-lime:#08090a;
  --green:#27a644; --coral:#eb5757; --teal:#02b8cc;
  --field:rgba(255,255,255,.02); --field-line:rgba(255,255,255,.08); --wash:rgba(255,255,255,.05); --nav-bg:rgba(8,9,10,.82);
  --glow-a:rgba(2,184,204,.16); --glow-b:rgba(208,214,224,.05);
  /* canvas inks, read by orb.js at load (a theme switch reloads the page) */
  --orb-front:#ffffff; --orb-mid:#83c4d2; --orb-rim:#02b8cc; --orb-alpha:1;
  --mol-line:#383b3f; --mol-done:rgba(208,214,224,.55); --mol-dim:#8a8f98; --mol-ink:#ffffff; --mol-fill:#08090a;
  --sans:"Inter Variable","Inter",ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
  --mono:"Berkeley Mono","JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
  --orb-font:"JetBrains Mono", ui-monospace, monospace;
  margin:0; background:var(--void); color:var(--mist); color-scheme:dark;
  font:400 16px/1.5 var(--sans); font-feature-settings:"cv01" on,"ss03" on,"zero" on; -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
:root[data-theme=light] .lin{
  --void:#fbfbfc; --carbon:#ffffff; --obsidian:#f4f5f8; --graphite:#e4e5e9; --smoke:#d2d4d9;
  --ash:#9a9ea6; --fog:#6b6f76; --mist:#3c4149; --paper:#08090a;
  --green:#1f8a38; --coral:#d64545; --teal:#0290a1;
  --field:#ffffff; --field-line:#e0e1e6; --wash:rgba(8,9,10,.04); --nav-bg:rgba(251,251,252,.85);
  --glow-a:rgba(2,184,204,.12); --glow-b:rgba(99,102,241,.05);
  --orb-front:#08090a; --orb-mid:#2f6f7d; --orb-rim:#0290a1; --orb-alpha:.85;
  --mol-line:#d2d4d9; --mol-done:rgba(60,65,73,.55); --mol-dim:#9a9ea6; --mol-ink:#08090a; --mol-fill:#fbfbfc;
  color-scheme:light;
}
.lin *{box-sizing:border-box}
.lin a{color:var(--mist);text-decoration:none}
.lin a:hover{text-decoration:none;color:var(--paper)}
.lin :focus-visible{outline:1px solid var(--mist);outline-offset:2px}
.lin h1,.lin h2,.lin p{margin:0}
.lin h1,.lin h2{text-wrap:balance}
.lin svg{display:block}
.lin .wrap{max-width:1200px;margin:0 auto;padding-inline:16px}
@media (min-width:700px){.lin .wrap{padding-inline:24px}}

/* nav */
.lin .nav{position:sticky;top:0;z-index:20;background:var(--nav-bg);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 .5px 0 var(--graphite);padding-top:env(safe-area-inset-top,0px)}
.lin .nav .wrap{display:flex;align-items:center;justify-content:space-between;gap:12px;height:56px}
.lin .logo{display:flex;align-items:center;gap:8px;color:var(--paper);font-size:16px;font-weight:510;letter-spacing:-.01em;white-space:nowrap}
.lin .logo:hover{text-decoration:none}
.lin .logo svg{width:20px;height:20px;color:var(--paper)}
.lin .logo .my{color:var(--fog)}
.lin .links{display:flex;align-items:center;gap:4px}
.lin .links form{margin:0}
.lin .navlink{background:none;border:0;cursor:pointer;color:var(--mist);font:400 13px var(--sans);padding:8px 12px}
.lin .navlink{border-radius:6px;transition:background-color .12s,color .12s}
.lin .navlink:hover{text-decoration:none;background:var(--wash);color:var(--paper)}
.lin .row-links a{border-radius:4px;padding:2px 6px;margin:0 -6px}
.lin .row-links a:hover{background:var(--wash);color:var(--paper)}
.lin .theme{font-size:15px;line-height:1;padding:8px 10px}
@media (max-width:560px){.lin .navlink.opt{display:none}}
.lin .navlink .short{display:none}
@media (max-width:440px){.lin .logo .my,.lin .navlink .long{display:none}.lin .navlink .short{display:inline}.lin .pill-white{padding:8px 12px}.lin .links{gap:0}}
.lin .pill-white{display:inline-flex;align-items:center;background:var(--paper);color:var(--void);border-radius:9999px;padding:8px 16px;font-size:13px;font-weight:510;white-space:nowrap}
.lin .pill-white:hover{text-decoration:none}

/* type */
.lin .caption{font-size:13px;line-height:1.2;color:var(--fog)}
.lin .hero-h{font-size:clamp(44px,7vw,72px);font-weight:510;line-height:1;letter-spacing:-.022em;color:var(--paper)}
.lin .sec-h{font-size:clamp(32px,5vw,48px);font-weight:510;line-height:1;letter-spacing:-.022em;color:var(--paper)}
.lin .lede{font-size:16px;color:var(--fog);max-width:46ch}
.lin .small{font-size:15px;line-height:1.6;letter-spacing:-.011em;color:var(--fog)}

/* card + form */
.lin .card{background:var(--carbon);border-radius:12px;box-shadow:var(--graphite) 0 0 0 1px inset;padding:24px;display:flex;flex-direction:column;gap:16px;position:relative;z-index:2}
.lin .card h2{font-size:24px;font-weight:400;line-height:1.33;letter-spacing:-.012em;color:var(--paper)}
.lin .card form{display:flex;flex-direction:column;gap:8px;margin:0}
.lin label{font-size:13px;color:var(--fog);margin-top:4px}
.lin input[type=email],.lin input[type=password],.lin input[type=text]{width:100%;background:var(--field);border:1px solid var(--field-line);color:var(--mist);border-radius:6px;padding:12px 14px;font:400 14px var(--sans)}
.lin input:focus{outline:none;border-color:var(--mist)}
.lin input::placeholder{color:var(--fog)}
.lin .primary{margin-top:8px;display:inline-flex;justify-content:center;align-items:center;gap:8px;background:var(--lime);color:var(--on-lime);border:0;border-radius:6px;padding:10px 16px;font:510 14px var(--sans);letter-spacing:-.011em;cursor:pointer;box-shadow:rgba(0,0,0,.01) 0 5px 2px inset,rgba(0,0,0,.04) 0 3px 2px inset,rgba(0,0,0,.07) 0 1px 1px inset}
.lin .primary:hover{filter:brightness(1.06)}
.lin .row-links{display:flex;flex-wrap:wrap;gap:4px 16px;font-size:13px}
.lin .row-links a{color:var(--fog)}
.lin .row-links a:hover{color:var(--mist)}
.lin .flash{display:flex;gap:8px;align-items:flex-start;background:var(--wash);border-radius:6px;padding:8px 12px;font-size:13px;color:var(--mist)}
.lin .flash::before{content:"";flex:none;width:6px;height:6px;border-radius:9999px;margin-top:6px;background:var(--green)}
.lin .flash.bad::before{background:var(--coral)}
.lin .flash.warn::before{background:var(--fog)}
.lin .who{font-size:14px;color:var(--mist)}
.lin .who b{color:var(--paper);font-weight:510}

/* hero */
.lin .hero{position:relative;padding-block:72px 0;min-height:min(62vh,600px)}
.lin .hero .grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:48px;align-items:center;position:relative;z-index:2}
.lin .hero .copy{display:flex;flex-direction:column;gap:16px}
@media (max-width:860px){.lin .hero{padding-block:40px 0}.lin .hero .grid{grid-template-columns:1fr;gap:32px}}

/* the light that drifts behind the orb */
.lin .glow{position:absolute;z-index:0;pointer-events:none;width:min(70vw,820px);aspect-ratio:1;border-radius:50%;left:50%;top:38%;
  background:radial-gradient(closest-side,var(--glow-a),var(--glow-b) 55%,transparent);filter:blur(30px);transform:translate(-50%,-50%)}
@media (prefers-reduced-motion:no-preference){.lin .glow{animation:drift 22s ease-in-out infinite alternate}}
@keyframes drift{0%{transform:translate(-78%,-55%)}50%{transform:translate(-30%,-42%)}100%{transform:translate(-56%,-60%)}}

/* the orb band: the sphere peeks above the fold, then rises into view */
.lin .brain-band{position:relative;z-index:1;display:flex;flex-direction:column;gap:12px;padding-block:24px 8px}
.lin .brain3d{position:relative;height:min(78vh,760px);min-height:380px;background:#08090a;border-radius:12px;box-shadow:#23252a 0 0 0 1px inset;overflow:hidden;cursor:grab}
.lin .brain3d:active{cursor:grabbing}
.lin .brain3d canvas{display:block;width:100%;height:100%;border-radius:12px}
.lin .brain-cap{font-size:13px;color:var(--fog);max-width:60ch}
.lin .b3-tag{position:absolute;left:0;top:0;pointer-events:none;display:flex;align-items:center;gap:6px;font:400 12px var(--sans);color:#d0d6e0;white-space:nowrap;transition:opacity .2s}
.lin .b3-tag b{font-weight:510;color:#ffffff}
.lin .b3-tag i{width:4px;height:4px;border-radius:9999px;background:#ffffff}
.lin .b3-major{font-size:13px;background:rgba(8,9,10,.72);border-radius:9999px;padding:3px 10px 3px 8px;box-shadow:#23252a 0 0 0 1px inset}
.lin .b3-major i{width:6px;height:6px;background:#a3d930}
.lin .b3-tip{position:absolute;pointer-events:none;max-width:320px;background:#161718;box-shadow:#383b3f 0 0 0 1px inset;border-radius:6px;padding:8px 10px;display:flex;flex-direction:column;gap:4px;font:400 12px var(--sans);color:#d0d6e0}
.lin .b3-tip b{font-weight:510;color:#ffffff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lin .b3-tip i{display:inline-block;width:6px;height:6px;border-radius:9999px;margin-right:4px}
@media (max-width:860px){.lin .brain3d{height:min(70vh,560px)}}

/* kinetic display text */
.lin .kinetic{position:relative;z-index:2;overflow:hidden;padding-block:24px 96px}
.lin .kinetic div{font-size:clamp(64px,13vw,184px);font-weight:510;line-height:1;letter-spacing:-.022em;color:var(--paper);white-space:nowrap;will-change:transform}
.lin .kinetic div+div{padding-left:8vw;color:var(--mist)}

/* registration */
.lin .register{padding-block:32px 96px}
.lin .register .grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:48px;align-items:center}
.lin .register .copy{display:flex;flex-direction:column;gap:16px}
.lin .mol{width:100%;aspect-ratio:16/9;max-width:100%;display:block;font-family:var(--sans)}
@media (max-width:860px){.lin .register .grid{grid-template-columns:1fr;gap:24px}.lin .mol{aspect-ratio:4/3}}

.lin .foot{box-shadow:0 -.5px 0 var(--graphite)}
.lin .foot .wrap{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-block:24px;font-size:13px;color:var(--fog)}
