/* Nectyr design tokens (nectyr-lc apps/web/app/globals.css) */
:root{
  --taypro-navy:#052638;--taypro-lime:#a8c117;--taypro-lime-hover:#b3cf3d;--taypro-leaf:#5a8f00;--taypro-mist:#5a7a8f;
  --background:oklch(0.975 0.003 286);--foreground:oklch(0.141 0.005 285.823);
  --card:oklch(0.995 0.001 286);--primary:oklch(0.255 0.05 237.4);--primary-foreground:oklch(0.985 0 0);
  --muted-foreground:oklch(0.552 0.016 285.938);--border:oklch(0.92 0.004 286.32);--ring:oklch(0.6 0.06 237);
  --status-live:oklch(0.62 0.17 150);--status-danger:oklch(0.55 0.2 27);
  --nx-wash-glow:oklch(0.55 0.07 237 / 0.16);
  --nx-float-shadow:0 12px 30px oklch(0.25 0.02 286 / 0.07);--nx-float-shadow-lg:0 18px 40px oklch(0.22 0.02 286 / 0.1);
  --star:5,38,56;--radius:0.625rem;
  --font-sans:"Manrope",system-ui,sans-serif;--font-heading:"Syne","Manrope",sans-serif;--font-mono:"IBM Plex Mono",ui-monospace,monospace;
}
.dark{
  --background:oklch(0.165 0.04 237);--foreground:oklch(0.985 0 0);
  --card:oklch(0.215 0.045 237.4);--primary:oklch(0.97 0.004 237);--primary-foreground:oklch(0.215 0.045 237.4);
  --muted-foreground:oklch(0.72 0.028 240);--border:oklch(1 0 0 / 10%);--ring:oklch(0.62 0.07 240);
  --status-live:oklch(0.78 0.19 150);--status-danger:oklch(0.72 0.19 22);
  --nx-wash-glow:oklch(0.7 0.09 240 / 0.28);
  --nx-float-shadow:0 12px 30px oklch(0.08 0.03 237 / 0.5);--nx-float-shadow-lg:0 18px 48px oklch(0.08 0.03 237 / 0.6);
  --star:255,255,255;
}
*,*::before,*::after{box-sizing:border-box}
html{font-family:var(--font-sans);-webkit-font-smoothing:antialiased;color-scheme:dark}
body{margin:0;min-height:100vh;background:var(--background);color:var(--foreground);isolation:isolate;line-height:1.55;display:flex;flex-direction:column}
h1,h2,h3{font-family:var(--font-heading);margin:0}
a{color:inherit}
.sr-only,.hp{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.atmos{position:fixed;inset:0;z-index:-2;overflow:hidden;pointer-events:none;
  background:radial-gradient(900px 520px at 10% -20%,oklch(1 0 0 / .10),transparent 55%)}
.nx-glow{position:absolute;border-radius:50%;background:radial-gradient(circle,var(--nx-wash-glow),transparent 70%);filter:blur(16px)}
.g1{width:70vmax;height:70vmax;left:-20vmax;top:-30vmax}.g2{width:60vmax;height:60vmax;right:-25vmax;bottom:-30vmax}
#sky{position:fixed;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none}
.nx-glass{background-color:color-mix(in oklab,var(--background) 38%,transparent);-webkit-backdrop-filter:blur(24px) saturate(1.2);backdrop-filter:blur(24px) saturate(1.2);box-shadow:inset 0 1px 0 color-mix(in oklab,var(--foreground) 10%,transparent)}
.dark .nx-glass{background-color:color-mix(in oklab,var(--background) 32%,transparent);box-shadow:inset 0 1px 0 oklch(1 0 0 / .08)}
.nx-float-lg{box-shadow:var(--nx-float-shadow-lg)}
.top{position:sticky;top:0;z-index:5;display:flex;justify-content:space-between;align-items:center;padding:.85rem clamp(1rem,4vw,2.5rem);border-bottom:1px solid var(--border)}
.brand{display:flex;align-items:center;gap:.6rem;text-decoration:none;font-family:var(--font-heading);font-weight:600;letter-spacing:-.01em}
.logo{height:34px;width:auto;display:block}
.mark{width:22px;height:24px;background:currentColor;-webkit-mask:url(/nectyr-mark-white.svg) center/contain no-repeat;mask:url(/nectyr-mark-white.svg) center/contain no-repeat}
nav{display:flex;align-items:center;gap:.25rem}
nav a,.icon-btn{font-size:.9rem;font-weight:500;text-decoration:none;padding:.45rem .75rem;border-radius:999px;color:var(--muted-foreground);transition:background-color .15s,color .15s}
nav a:hover,.icon-btn:hover{color:var(--foreground);background:color-mix(in oklab,var(--foreground) 8%,transparent)}
.icon-btn{border:0;background:none;cursor:pointer;font:inherit;font-size:1.05rem}
:focus-visible{outline:2px solid var(--ring);outline-offset:2px}
main{flex:1;width:min(1080px,100%);margin:0 auto;padding:clamp(3rem,10vh,7rem) clamp(1rem,4vw,2.5rem) 3rem}
.hero{text-align:center;display:flex;flex-direction:column;align-items:center}
.pill{display:inline-flex;align-items:center;gap:.55rem;margin:0 0 1.5rem;padding:.35rem .85rem;border:1px solid var(--border);border-radius:999px;font-family:var(--font-mono);font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted-foreground);background:color-mix(in oklab,var(--card) 50%,transparent)}
.pill .nx-live-dot{color:var(--taypro-lime)}
.wordmark{font-size:clamp(4rem,15vw,9.5rem);font-weight:700;letter-spacing:-.045em;line-height:.95;
  background:linear-gradient(180deg,var(--foreground) 35%,color-mix(in oklab,var(--foreground) 55%,var(--ring)) 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.bar{margin:1.5rem 0 0;height:4px;width:3rem;background:var(--taypro-lime)}
.lede{max-width:36rem;margin:1.5rem 0 2rem;font-size:clamp(1.05rem,2.2vw,1.25rem);color:var(--muted-foreground);text-wrap:pretty}
.notify{display:flex;gap:.4rem;width:min(30rem,100%);padding:.4rem;border:1px solid var(--border);border-radius:999px}
.notify input{flex:1;min-width:0;border:0;background:transparent;color:var(--foreground);font:inherit;padding:.65rem 1rem;border-radius:999px}
.notify input::placeholder{color:var(--muted-foreground)}
.notify input:focus{outline:none}.notify:focus-within{outline:2px solid var(--ring);outline-offset:2px}
.btn{border:0;cursor:pointer;font:inherit;font-weight:600;padding:.65rem 1.3rem;border-radius:999px;background:var(--primary);color:var(--primary-foreground);transition:transform .2s ease,filter .15s}
.btn:hover{transform:translateY(-1px);filter:brightness(1.08)}.btn:disabled{opacity:.6;cursor:wait}
.msg{min-height:1.5rem;margin:.9rem 0 0;font-weight:500}.msg.ok{color:var(--status-live)}.msg.err{color:var(--status-danger)}
.fine{margin:.25rem 0 0;font-size:.82rem;color:var(--muted-foreground)}
.cards{margin-top:clamp(4rem,12vh,7rem)}
.eyebrow{font-family:var(--font-mono);font-weight:500;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted-foreground);text-align:center;margin-bottom:1.5rem}
.cards ul{list-style:none;margin:0;padding:0;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.card{padding:1.4rem;border:1px solid var(--border);border-radius:calc(var(--radius)*1.8);background:color-mix(in oklab,var(--card) 70%,transparent);box-shadow:var(--nx-float-shadow);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}
.nx-lift{transition:transform .2s ease,box-shadow .2s ease,background-color .15s ease}
.nx-lift:hover{transform:translateY(-3px);box-shadow:var(--nx-float-shadow-lg)}
.ic{display:inline-grid;place-items:center;width:2.25rem;height:2.25rem;border-radius:.6rem;background:color-mix(in oklab,var(--taypro-lime) 18%,transparent);color:var(--taypro-lime);font-size:1.05rem;margin-bottom:.9rem}
html:not(.dark) .ic{color:var(--taypro-leaf)}
.card h3{font-size:1.1rem;font-weight:600;letter-spacing:-.01em;margin-bottom:.35rem}
.card p{margin:0;font-size:.93rem;color:var(--muted-foreground)}
.foot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.5rem;padding:1.5rem clamp(1rem,4vw,2.5rem);border-top:1px solid var(--border);font-size:.85rem;color:var(--muted-foreground)}
.foot p{margin:0}.mono{font-family:var(--font-mono)}
/* Nectyr motion layer */
@keyframes nx-enter{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@keyframes nx-ambient-drift{0%,100%{transform:translate3d(0,0,0) scale(1);opacity:.75}50%{transform:translate3d(1.5%,-1.5%,0) scale(1.05);opacity:.95}}
@keyframes nx-live-ping{0%{transform:scale(1);opacity:.55}70%,100%{transform:scale(2.4);opacity:0}}
.nx-ambient{animation:nx-ambient-drift 16s ease-in-out infinite}.nx-ambient-delay{animation-delay:-7s}
.nx-stagger{animation:nx-enter .45s cubic-bezier(.22,1,.36,1) both;animation-delay:calc(var(--nx-i,0)*55ms)}
.nx-live-dot{position:relative;display:inline-flex;width:.375rem;height:.375rem;border-radius:999px;background:currentColor}
.nx-live-dot::before{content:"";position:absolute;inset:0;border-radius:inherit;background:currentColor;animation:nx-live-ping 1.6s cubic-bezier(0,0,.2,1) infinite}
.cf-turnstile{margin-top:.75rem}
@media (max-width:520px){.logo{height:26px}.notify{flex-direction:column;border-radius:1.2rem}.btn{width:100%}nav a[href*="taypro.in"]:not([href*="nectyr"]){display:none}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}
