/* ============ 0api.dev v3 — choreographed single page. EN-first, Syne display, shader + particles ============ */
@font-face {
  font-family: 'Syne';
  font-style: normal; font-weight: 800; font-display: swap;
  src: url(data:font/woff2;base64,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) format('woff2');
}
:root {
  --bg: #05070d;
  --panel: rgba(13, 19, 31, .5);
  --line: rgba(120, 150, 200, .13);
  --text: #e8edf6;
  --muted: #93a2ba;
  --faint: #5d6c85;          /* decorative lines & non-text chrome only */
  --faint-r: #74849e;        /* readable small text: ~5.3:1 on --bg */
  --acc: #2ee0b4;
  --violet: #8f7bff;
  --gold: #ffb454;
  --t-simple: #4cc9f0; --t-standard: #2ee0b4; --t-complex: #b48cff; --t-reasoning: #ff7eb6;
  --mono: ui-monospace, "SF Mono", SFMono-Regular, Menlo, Consolas, monospace;
  --sans: -apple-system, "Helvetica Neue", "PingFang SC", "Hiragino Sans", "Malgun Gothic", "Noto Sans Thai", system-ui, sans-serif;
  --disp: 'Syne', var(--sans);
  --ease: cubic-bezier(.19, 1, .22, 1);
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; overflow-x: hidden; }
@supports (overflow-x: clip) { html { overflow-x: clip; } }
html.lenis { scroll-behavior: auto; }
body { margin: 0; background: var(--bg); color: var(--text); font-family: var(--sans); font-size: 17px; line-height: 1.75; overflow-x: hidden; }
::selection { background: rgba(46,224,180,.28); }
a { color: var(--acc); text-decoration: none; }
code, pre { font-family: var(--mono); }
.wrap { max-width: 1200px; margin: 0 auto; padding: 0 32px; }

/* film grain — quiet */
body::after {
  content: ""; position: fixed; inset: -50%; z-index: 95; pointer-events: none; opacity: .038;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='300' height='300' filter='url(%23n)'/%3E%3C/svg%3E");
  animation: grain 9s steps(10) infinite;
}
@keyframes grain { 0%,100%{transform:translate(0,0)} 20%{transform:translate(-4%,3%)} 40%{transform:translate(3%,-5%)} 60%{transform:translate(-5%,-2%)} 80%{transform:translate(4%,4%)} }

/* ---------- living membrane cursor ---------- */
#ring { position: fixed; top: 0; left: 0; z-index: 210; pointer-events: none; }
html.curon, html.curon body, html.curon a, html.curon button { cursor: none; }
#ring { width: 50px; height: 50px; margin: -25px; transition: width .28s var(--ease), height .28s var(--ease), margin .28s var(--ease); will-change: transform; }
#ring.on { width: 66px; height: 66px; margin: -33px; }
@media (pointer: coarse) { #ring { display: none; } }

/* ---------- scroll progress hairline ---------- */
#prog { position: fixed; top: 0; left: 0; right: 0; height: 2px; z-index: 120; background: linear-gradient(90deg, var(--acc), var(--violet)); transform-origin: 0 50%; transform: scaleX(0); box-shadow: 0 0 12px rgba(46,224,180,.45); }

/* ---------- masked line reveals ---------- */
.line { display: block; overflow: hidden; }
.line > span { display: block; transform: translateY(112%); transition: transform 1.1s var(--ease); }
/* char-level rise (hero); .wd keeps words unbreakable so chars never wrap mid-word */
.wd { display: inline-block; white-space: nowrap; }
.ch { display: inline-block; white-space: pre; transform: translateY(118%); transition: transform 1s var(--ease); }
.go .ch { transform: none; }
.hero h1 .line { overflow: hidden; }
.hero h1 .line > span { transform: none; transition: none; }
.go .line > span, .in .line > span { transform: none; }
.go .line:nth-child(2) > span, .in .line:nth-child(2) > span { transition-delay: .09s; }
.go .line:nth-child(3) > span, .in .line:nth-child(3) > span { transition-delay: .18s; }
.fade { opacity: 0; transform: translateY(22px); transition: opacity 1s var(--ease), transform 1s var(--ease); }
.go .fade, .in .fade, .fade.in { opacity: 1; transform: none; }
.go .fade.d1, .in .fade.d1 { transition-delay: .3s; }
.go .fade.d2, .in .fade.d2 { transition-delay: .45s; }

/* ---------- nav ---------- */
nav { position: fixed; inset: 0 0 auto 0; z-index: 100; background: rgba(5,7,13,.5); backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px); border-bottom: 1px solid var(--line); }
nav .wrap { display: flex; align-items: center; gap: 30px; height: 64px; }
.logo { display: inline-flex; align-items: center; flex: none; }
.brand-lockup { position: relative; display: block; width: 144px; aspect-ratio: 16 / 3; }
.brand-lockup img, .brand-lockup::before, .brand-lockup::after { position: absolute; inset: 0; width: 100%; height: 100%; }
.brand-lockup img { display: block; object-fit: contain; }
.brand-lockup::before {
  content: ""; background: url("0api-living-lockup.png") center / contain no-repeat;
  clip-path: inset(0 58% 0 0); opacity: .32; transform-origin: 14% 50%;
  filter: saturate(1.5) drop-shadow(0 0 5px rgba(46,224,180,.35));
  animation: brand-membrane 4.8s ease-in-out infinite;
}
.brand-lockup::after {
  content: ""; background: linear-gradient(90deg, transparent 38%, #2ee0b4 47%, #44d8ff 51%, #6687ff 55%, transparent 64%);
  background-size: 240% 100%; opacity: .46;
  -webkit-mask: url("0api-living-lockup.png") center / contain no-repeat;
  mask: url("0api-living-lockup.png") center / contain no-repeat;
  animation: brand-current 6.4s linear infinite;
}
@keyframes brand-membrane {
  0%,100% { transform: scale(1); }
  34% { transform: scaleX(1.016) scaleY(.96); }
  68% { transform: scaleX(.99) scaleY(1.05); }
}
@keyframes brand-current { from { background-position: 150% 0; } to { background-position: -150% 0; } }
.footer-logo .brand-lockup { width: 128px; }
nav .links { display: flex; gap: 28px; margin-left: auto; font: 13px var(--mono); letter-spacing: .04em; }
nav .links a { color: var(--muted); transition: color .2s; }
nav .links a:hover, nav .links a:focus-visible { color: var(--text); }
.lang { font: 11px var(--mono); color: var(--faint-r); background: none; border: 1px solid var(--line); border-radius: 99px; padding: 5px 12px; letter-spacing: .12em; }
button.lang:focus-visible { outline: 2px solid var(--acc); outline-offset: 2px; }
.btn { display: inline-block; padding: 10px 26px; border-radius: 99px; font-size: 14px; font-weight: 700; border: 1px solid var(--line); color: var(--text); transition: transform .2s var(--ease), box-shadow .3s, border-color .3s; }
.btn:hover { transform: translateY(-1px); border-color: rgba(46,224,180,.5); }
.btn:focus-visible { outline: 2px solid var(--acc); outline-offset: 2px; }
.btn-acc { background: var(--acc); color: #03110c; border-color: var(--acc); box-shadow: 0 4px 30px rgba(46,224,180,.3); }
.btn-acc:hover { box-shadow: 0 6px 44px rgba(46,224,180,.5); }
nav .wrap > .btn { white-space: nowrap; flex: none; }

/* ---------- section scaffolding ---------- */
section { padding: clamp(72px, 12vh, 132px) 0; position: relative; scroll-margin-top: 66px; }
.idx { font: 12px var(--mono); letter-spacing: .28em; color: var(--acc); text-transform: uppercase; }
.idx::before { content: ""; display: inline-block; width: 44px; height: 1px; background: rgba(46,224,180,.5); vertical-align: middle; margin-right: 14px; }
h2 { font: 800 clamp(34px, 5.6vw, 76px)/1.02 var(--disp); text-transform: uppercase; letter-spacing: -.01em; margin: 22px 0 0; text-wrap: balance; }
.sub { color: var(--muted); max-width: 40em; font-size: 18px; }
.headgap { margin-top: 26px; }

/* ---------- pricing ---------- */
.plans { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin-top: 9vh; perspective: 1400px; }
.plan { position: relative; background: var(--panel); border: 1px solid var(--line); border-radius: 18px; padding: 36px 32px; backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); transform-style: preserve-3d; transition: border-color .3s; will-change: transform; }
.plan.hot { border-color: transparent; overflow: hidden; }
.plan.hot::before { content: ""; position: absolute; inset: -160%; background: conic-gradient(transparent 0deg, var(--acc) 40deg, var(--violet) 80deg, transparent 130deg); animation: spin 5s linear infinite; }
.plan.hot .inner-mask { position: absolute; inset: 1.5px; background: rgba(10,16,27,.94); border-radius: 16.5px; }
.plan.hot > * { position: relative; z-index: 2; }
@keyframes spin { to { transform: rotate(360deg); } }
.plan.hot::after { content: attr(data-popular); position: absolute; top: 18px; right: 18px; z-index: 3; background: var(--acc); color: #03110c; font: 700 10px var(--mono); letter-spacing: .14em; padding: 4px 12px; border-radius: 99px; }
.plan .pname { font: 12px var(--mono); letter-spacing: .2em; color: var(--muted); text-transform: uppercase; }
.plan .price { font: 800 46px/1 var(--disp); margin: 18px 0 4px; font-variant-numeric: tabular-nums; }
.plan .price small { font: 400 13px var(--mono); color: var(--faint-r); }
.plan ul { list-style: none; padding: 0; margin: 26px 0 30px; display: grid; gap: 11px; font-size: 15px; color: var(--muted); }
.plan li::before { content: "→ "; color: var(--acc); font-family: var(--mono); }
.plan .btn { display: block; text-align: center; }
.pricenote { margin-top: 26px; font: 13.5px var(--mono); color: var(--faint-r); }

/* ---------- cta / footer ---------- */
.cta { text-align: center; padding: clamp(110px, 17vh, 190px) 0; position: relative; overflow: hidden; }
.cta::before { content: ""; position: absolute; inset: auto 0 -55% 0; height: 120%; background: radial-gradient(ellipse at bottom, rgba(46,224,180,.13), rgba(143,123,255,.07) 45%, transparent 70%); pointer-events: none; }
.cta h2 { font-size: clamp(38px, 7vw, 96px); }
.cta .sub { margin: 26px auto 40px; }
.auto-w { background: linear-gradient(90deg, var(--acc), var(--violet), var(--gold), var(--acc)); background-size: 300% 100%; -webkit-background-clip: text; background-clip: text; color: transparent; animation: hue 5s linear infinite; }
@keyframes hue { to { background-position: 300% 0; } }
footer { border-top: 1px solid var(--line); padding: 40px 0; color: var(--faint-r); font-size: 14px; }
footer .wrap { display: flex; gap: 24px; flex-wrap: wrap; align-items: center; }
footer .langs { display: flex; gap: 16px; font: 12px var(--mono); }
footer .langs span { color: var(--faint-r); }
footer .langs .on { color: var(--acc); }
footer .sp { margin-left: auto; }


/* ---------- shared responsive + a11y + reduced motion ---------- */
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
@media (max-width: 980px) {
  .plans { grid-template-columns: 1fr; }
  nav .links { display: none; }
}
@media (max-width: 560px) {
  .plan .price small { display: block; margin-top: 8px; }
  /* Keep the longest animated hero line inside the actual content column. */
  #hero h1 { font-size: min(52px, 9.4vw, calc((100vw - 64px) / 9.5)); }
}
@media (max-width: 420px) {
  .wrap { padding-inline: 20px; }
  nav .wrap { gap: 16px; }
  nav .lang-menu { margin-left: auto; }
  /* 11.95em fits the longest authored line ("ONE INTEGRATION.") without splitting words. */
  h2, .cta h2 { font-size: min(34px, calc((100vw - 40px) / 11.95)); }
  h2 .line > span { white-space: normal; overflow-wrap: normal; word-break: normal; }
  #hero h1 { font-size: min(9.4vw, calc((100vw - 40px) / 9.5)); }
  /* the hero/body CTA stays; a multi-line nav pill is worse than no nav pill */
  nav .wrap > .btn { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  .line > span, .fade, .ch { transform: none !important; opacity: 1 !important; transition: none !important; }
  body::after, .plan.hot::before, .brand-lockup::before, .brand-lockup::after { animation: none; }
  #ring { display: none; }
  #loader { display: none; }
  html { scroll-behavior: auto; }
}

/* ---------- CJK / Thai typography: wide Latin tracking reads as holes in these scripts ---------- */
html[lang="ja"] { line-break: strict; }
html[lang="ja"] .idx, html[lang="ja"] .eyebrow, html[lang="ja"] .stat .l, html[lang="ja"] .pname, html[lang="ja"] .lane .tname, html[lang="ja"] .row .n, html[lang="ja"] .prow .ptag, html[lang="ja"] .ptable thead th, html[lang="ja"] .field > label, html[lang="ja"] fieldset legend, html[lang="ja"] .plan.hot::after,
html[lang="ko"] .idx, html[lang="ko"] .eyebrow, html[lang="ko"] .stat .l, html[lang="ko"] .pname, html[lang="ko"] .lane .tname, html[lang="ko"] .row .n, html[lang="ko"] .prow .ptag, html[lang="ko"] .ptable thead th, html[lang="ko"] .field > label, html[lang="ko"] fieldset legend, html[lang="ko"] .plan.hot::after,
html[lang="zh-CN"] .idx, html[lang="zh-CN"] .eyebrow, html[lang="zh-CN"] .stat .l, html[lang="zh-CN"] .pname, html[lang="zh-CN"] .lane .tname, html[lang="zh-CN"] .row .n, html[lang="zh-CN"] .prow .ptag, html[lang="zh-CN"] .ptable thead th, html[lang="zh-CN"] .field > label, html[lang="zh-CN"] fieldset legend, html[lang="zh-CN"] .plan.hot::after { letter-spacing: .06em; }
html[lang="th"] .idx, html[lang="th"] .eyebrow, html[lang="th"] .stat .l, html[lang="th"] .pname, html[lang="th"] .lane .tname, html[lang="th"] .row .n, html[lang="th"] .prow .ptag, html[lang="th"] .ptable thead th, html[lang="th"] .field > label, html[lang="th"] fieldset legend, html[lang="th"] .plan.hot::after { letter-spacing: 0; }
html[lang="ja"] .fineprint, html[lang="ja"] .langnote, html[lang="ja"] .pricenote,
html[lang="ko"] .fineprint, html[lang="ko"] .langnote, html[lang="ko"] .pricenote,
html[lang="th"] .fineprint, html[lang="th"] .langnote, html[lang="th"] .pricenote,
html[lang="zh-CN"] .fineprint, html[lang="zh-CN"] .langnote, html[lang="zh-CN"] .pricenote { font-family: var(--sans); }

/* ---------- language switcher ---------- */
.lang-menu { position: relative; }
.lang-menu .lang { cursor: pointer; display: inline-block; }
.lang-menu .list { display: none; position: absolute; top: calc(100% + 10px); right: 0; background: rgba(10,16,27,.97); border: 1px solid var(--line); border-radius: 12px; padding: 8px; min-width: 130px; z-index: 130; box-shadow: 0 20px 60px rgba(0,0,0,.5); }
.lang-menu:hover .list, .lang-menu.open .list { display: grid; }
/* invisible hover bridge across the chip→list gap; exists only while the menu is open */
.lang-menu:hover::after, .lang-menu.open::after { content: ""; position: absolute; top: 100%; left: -12px; right: -12px; height: 14px; }
.lang-menu .list a { display: block; padding: 7px 12px; border-radius: 8px; color: var(--muted); font: 14px var(--sans); }
.lang-menu .list a:hover { color: var(--text); background: rgba(120,150,200,.08); }
.lang-menu .list a.on { color: var(--acc); }
footer .langs a { color: var(--faint-r); }
footer .langs a:hover { color: var(--text); }
footer .langs a.on { color: var(--acc); }
