/* imbek API docs — warm dark editorial — v12 */
@import url('https://fonts.googleapis.com/css2?family=Geist:wght@300;400;500;600;700&family=Geist+Mono:wght@400;500&family=Newsreader:ital,opsz,wght@0,6..72,300;0,6..72,400;1,6..72,300;1,6..72,400&display=swap');

:root {
  --bg:      #0D0C09;
  --bg1:     #131209;
  --bg2:     #1A190F;
  --bg3:     #222018;
  --ink:     #F4F0E6;
  --ink2:    #C8C3B0;
  --ink3:    #7A776A;
  --ink4:    #4A4840;
  --line:    rgba(244,240,230,.07);
  --line2:   rgba(244,240,230,.13);
  --serif:   'Newsreader', Georgia, serif;
  --sans:    'Geist', system-ui, sans-serif;
  --mono:    'Geist Mono', 'SF Mono', monospace;
  --green:   #8EC99A; --green-bg: rgba(142,201,154,.1);
  --blue:    #88B8E0; --blue-bg:  rgba(136,184,224,.1);
  --amber:   #D4A853; --amber-bg: rgba(212,168,83,.1);
  --red:     #D47070; --red-bg:   rgba(212,112,112,.1);
  --purple:  #A89ACD; --purple-bg:rgba(168,154,205,.1);
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.6;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}

/* ambient */
body::before{content:'';position:fixed;inset:0;pointer-events:none;z-index:0;
  background:radial-gradient(ellipse 900px 600px at 15% -5%,rgba(220,180,100,.06),transparent 65%),
             radial-gradient(ellipse 700px 500px at 110% 20%,rgba(130,155,220,.05),transparent 65%)}

/* ── NAV ── */
nav{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;
  padding:0 36px;height:60px;
  background:rgba(13,12,9,.8);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.nav-logo{display:flex;align-items:center;gap:10px;font-weight:600;font-size:15px;letter-spacing:-.01em}
.nav-dot{width:7px;height:7px;background:var(--ink);border-radius:2px}
.nav-links{display:flex;align-items:center;gap:24px;font-size:13px;color:var(--ink3)}
.nav-links a:hover{color:var(--ink)}
.nav-cta{background:var(--ink);color:var(--bg)!important;padding:8px 16px;border-radius:5px;
  font-weight:500;font-size:13px;transition:background .15s}
.nav-cta:hover{background:#fff!important}

/* ── WRAP ── */
.w{position:relative;z-index:1;max-width:1160px;margin:0 auto;padding:0 36px}

/* ── HERO ── */
.hero{padding:96px 0 80px;border-bottom:1px solid var(--line)}
.badge{display:inline-flex;align-items:center;gap:8px;padding:5px 12px;border-radius:999px;
  background:var(--bg1);border:1px solid var(--line2);
  font-family:var(--mono);font-size:11px;color:var(--ink3);letter-spacing:.04em;margin-bottom:24px}
.badge-dot{width:6px;height:6px;border-radius:50%;background:var(--green);box-shadow:0 0 8px rgba(142,201,154,.5)}
.hero h1{font-family:var(--serif);font-weight:300;font-size:clamp(42px,6vw,82px);
  line-height:1.05;letter-spacing:-.035em;color:var(--ink);max-width:820px;margin-bottom:24px}
.hero h1 em{font-style:italic;color:var(--ink3);font-weight:300}
.hero p{max-width:600px;font-size:17px;line-height:1.65;color:var(--ink3);margin-bottom:36px}
.hero p code{font-family:var(--mono);font-size:13px;background:var(--bg2);
  border:1px solid var(--line2);padding:2px 7px;border-radius:4px;color:var(--ink2)}
.cta-row{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-bottom:56px}
.btn{display:inline-flex;align-items:center;gap:8px;padding:12px 22px;border-radius:6px;
  font-size:14px;font-weight:500;letter-spacing:-.005em;transition:all .15s;cursor:pointer}
.btn-dark{background:var(--ink);color:var(--bg)}
.btn-dark:hover{background:#fff;color:var(--bg)}
.btn-ghost{background:transparent;color:var(--ink);border:1px solid var(--line2)}
.btn-ghost:hover{border-color:var(--ink3)}
.stats{display:flex;gap:0;border-top:1px solid var(--line);padding-top:28px}
.stat{padding:0 40px 0 0;border-right:1px solid var(--line);margin-right:40px}
.stat:last-child{border:none;margin:0}
.stat-l{font-family:var(--mono);font-size:10px;color:var(--ink4);text-transform:uppercase;letter-spacing:.1em;margin-bottom:4px}
.stat-v{font-family:var(--serif);font-size:30px;font-weight:300;letter-spacing:-.025em;color:var(--ink)}

/* ── SECTIONS ── */
.section{padding:80px 0;border-bottom:1px solid var(--line)}
.sh{display:flex;align-items:flex-end;justify-content:space-between;gap:32px;flex-wrap:wrap;margin-bottom:48px}
.sk{font-family:var(--mono);font-size:10px;color:var(--ink4);text-transform:uppercase;letter-spacing:.15em;margin-bottom:12px}
.st{font-family:var(--serif);font-weight:300;font-size:clamp(28px,3.5vw,44px);
  line-height:1.1;letter-spacing:-.025em;color:var(--ink);max-width:600px}
.sb{max-width:360px;font-size:14px;line-height:1.65;color:var(--ink3)}
.sb code{font-family:var(--mono);font-size:12px;background:var(--bg2);padding:1px 5px;border-radius:3px;color:var(--ink2)}

/* ── CODE CARD ── */
.tabs{display:flex;gap:4px;margin-bottom:12px}
.tab{font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.06em;
  padding:6px 14px;border-radius:4px;background:transparent;border:1px solid transparent;
  color:var(--ink4);cursor:pointer;transition:all .15s}
.tab:hover{color:var(--ink3)}
.tab.on{background:var(--bg1);border-color:var(--line2);color:var(--ink)}
.ccard{background:var(--bg1);border:1px solid var(--line);border-radius:12px;overflow:hidden}
.cbar{display:flex;align-items:center;gap:8px;padding:12px 20px;
  background:var(--bg2);border-bottom:1px solid var(--line)}
.cdot{width:10px;height:10px;border-radius:50%;background:var(--line2)}
.cname{margin-left:10px;font-family:var(--mono);font-size:11px;color:var(--ink3)}
.cbtn{margin-left:auto;background:transparent;border:1px solid var(--line2);color:var(--ink3);
  padding:4px 10px;border-radius:4px;font-family:var(--mono);font-size:10px;cursor:pointer;transition:all .15s}
.cbtn:hover{color:var(--ink);border-color:var(--ink3)}
.cbtn.ok{color:var(--green);border-color:var(--green)}
pre#cb{margin:0;padding:22px 24px;font-family:var(--mono);font-size:13px;line-height:1.75;
  color:var(--ink2);background:var(--bg1);overflow-x:auto;white-space:pre}
.tc{color:var(--purple)}.tf{color:var(--ink4)}.ts{color:var(--green)}.tk{color:var(--blue)}.tm{color:var(--ink4);font-style:italic}

/* ── MODELS BENTO ── */
.grid{display:grid;grid-template-columns:repeat(12,1fr);gap:12px}
.mc{background:var(--bg1);border:1px solid var(--line);border-radius:10px;
  padding:20px 22px;display:flex;flex-direction:column;justify-content:space-between;
  min-height:130px;transition:border-color .2s,transform .2s}
.mc:hover{border-color:var(--line2);transform:translateY(-2px)}
.mc .n{font-family:var(--mono);font-size:13px;font-weight:500;color:var(--ink);
  margin-bottom:6px;word-break:break-all}
.mc .d{font-size:13px;color:var(--ink3);line-height:1.5}
.mc .m{display:flex;flex-wrap:wrap;gap:5px;margin-top:12px}
.mc.feat{grid-column:span 6;background:var(--bg2);border-color:var(--line2);
  min-height:220px;padding:28px;position:relative;overflow:hidden}
.mc.feat::after{content:'';position:absolute;top:0;right:0;width:240px;height:240px;
  background:radial-gradient(circle,rgba(212,168,83,.08),transparent 70%);pointer-events:none}
.mc.feat .n{font-size:16px;margin-bottom:12px}
.mc.feat .d{color:var(--ink3);font-size:14px;max-width:340px;line-height:1.55}
.mc.s3{grid-column:span 3}
.mc.s4{grid-column:span 4}
.mc.s6{grid-column:span 6}
.tag{display:inline-block;font-family:var(--mono);font-size:9px;font-weight:600;
  text-transform:uppercase;letter-spacing:.08em;padding:3px 8px;border-radius:999px}
.ta{background:var(--amber-bg);color:var(--amber)}
.tb{background:var(--blue-bg);color:var(--blue)}
.tg{background:var(--green-bg);color:var(--green)}
.tp{background:var(--purple-bg);color:var(--purple)}
.tr{background:var(--red-bg);color:var(--red)}
.tx{background:var(--bg3);color:var(--ink3);border:1px solid var(--line)}
.tpr{background:var(--ink);color:var(--bg)}
.tbo{background:#5c3d2e;color:var(--bg)}

/* ── PRICING ── */
.pgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.pc{background:var(--bg1);border:1px solid var(--line);border-radius:12px;
  padding:30px 28px;display:flex;flex-direction:column}
.pc:hover{border-color:var(--line2)}
.pc.feat{background:var(--bg2);border-color:var(--line2);position:relative}
.pc.feat::before{content:'';position:absolute;inset:0;border-radius:12px;
  background:radial-gradient(ellipse 120% 60% at 50% 0%,rgba(212,168,83,.07),transparent 60%);pointer-events:none}
.tier{font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.13em;
  color:var(--ink4);margin-bottom:16px}
.pc.feat .tier{color:var(--amber)}
.price-row{display:flex;align-items:baseline;gap:6px;margin-bottom:22px}
.pnum{font-family:var(--serif);font-size:52px;font-weight:300;line-height:1;letter-spacing:-.04em;color:var(--ink)}
.pper{font-size:13px;color:var(--ink4)}
.features{list-style:none;flex:1;display:flex;flex-direction:column;gap:11px;
  font-size:14px;color:var(--ink2);margin-bottom:28px}
.features li{display:flex;align-items:flex-start;gap:10px;line-height:1.45}
.features li::before{content:'';display:inline-block;width:14px;height:14px;flex-shrink:0;
  margin-top:3px;border-radius:50%;
  background:var(--green-bg) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14' fill='none'><path d='M3 7l3 3 5-6' stroke='%238EC99A' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/></svg>") no-repeat center}
.pcta{display:block;text-align:center;padding:11px;border-radius:6px;font-size:14px;font-weight:500;
  background:var(--bg3);color:var(--ink);border:1px solid var(--line2);transition:all .15s}
.pcta:hover{border-color:var(--ink3)}
.pc.feat .pcta{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.pc.feat .pcta:hover{background:#fff}

/* ── FAQ ── */
.faq{border-top:1px solid var(--line);max-width:800px}
details.fi{border-bottom:1px solid var(--line);padding:20px 0}
details.fi summary{display:flex;align-items:flex-start;justify-content:space-between;
  gap:24px;cursor:pointer;font-size:16px;font-weight:500;color:var(--ink);
  letter-spacing:-.01em;list-style:none}
details.fi summary::-webkit-details-marker{display:none}
details.fi summary::after{content:'+';font-family:var(--mono);font-size:20px;
  font-weight:300;color:var(--ink3);line-height:1;flex-shrink:0}
details.fi[open] summary::after{content:'−'}
details.fi .ans{margin-top:12px;color:var(--ink3);max-width:660px;line-height:1.7;font-size:14px}
details.fi .ans code{font-family:var(--mono);font-size:12px;background:var(--bg2);
  border:1px solid var(--line);padding:1px 6px;border-radius:4px;color:var(--ink2)}
details.fi .ans a{color:var(--blue);border-bottom:1px solid rgba(136,184,224,.3)}
details.fi .ans a:hover{border-color:var(--blue)}

/* ── SWAGGER ── */
#swagger-anchor{padding:80px 0;position:relative;z-index:1}
#swagger-ui{font-family:var(--sans);background:transparent;max-width:1160px;margin:0 auto;padding:0 36px 80px}
#swagger-ui .topbar,#swagger-ui .info hgroup,#swagger-ui .scheme-container{display:none!important}
#swagger-ui .info .title{font-family:var(--serif);font-weight:300;font-size:36px;letter-spacing:-.025em;color:var(--ink)}
#swagger-ui .info .description,#swagger-ui .info .description p{font-family:var(--sans);color:var(--ink3);font-size:14px}
#swagger-ui .opblock-tag{font-family:var(--serif)!important;font-size:20px!important;font-weight:300!important;
  color:var(--ink)!important;border-bottom:1px solid var(--line)!important;padding:14px 0!important}
#swagger-ui .opblock-tag small{font-family:var(--sans)!important;font-size:13px!important;color:var(--ink3)!important}
#swagger-ui .opblock{border:1px solid var(--line)!important;border-radius:8px!important;
  background:var(--bg1)!important;box-shadow:none!important;margin-bottom:10px!important}
#swagger-ui .opblock .opblock-summary{border:none!important;padding:8px 14px!important}
#swagger-ui .opblock-summary-method{font-family:var(--mono);font-size:10px!important;font-weight:600!important;
  letter-spacing:.06em;padding:5px 10px!important;border-radius:4px!important;
  box-shadow:none!important;text-shadow:none!important}
#swagger-ui .opblock.opblock-post   .opblock-summary-method{background:var(--green-bg)!important;color:var(--green)!important}
#swagger-ui .opblock.opblock-get    .opblock-summary-method{background:var(--blue-bg)!important;color:var(--blue)!important}
#swagger-ui .opblock.opblock-patch  .opblock-summary-method{background:var(--amber-bg)!important;color:var(--amber)!important}
#swagger-ui .opblock.opblock-delete .opblock-summary-method{background:var(--red-bg)!important;color:var(--red)!important}
#swagger-ui .opblock-summary-path{font-family:var(--mono)!important;font-size:13px!important;color:var(--ink)!important}
#swagger-ui .opblock-summary-description{font-family:var(--sans)!important;color:var(--ink3)!important;font-size:13px!important}
#swagger-ui .opblock-body,#swagger-ui .opblock-section-header{background:var(--bg1)!important;color:var(--ink2)!important}
#swagger-ui .opblock-section-header{background:var(--bg2)!important;border-bottom:1px solid var(--line)!important;box-shadow:none!important}
#swagger-ui .btn{font-family:var(--sans)!important;font-size:13px!important;border-radius:5px!important;
  padding:7px 14px!important;box-shadow:none!important;text-shadow:none!important}
#swagger-ui .btn.execute{background:var(--ink)!important;color:var(--bg)!important;border-color:var(--ink)!important}
#swagger-ui .btn.try-out__btn,#swagger-ui .btn.authorize,#swagger-ui .btn.cancel{
  background:var(--bg2)!important;color:var(--ink)!important;border:1px solid var(--line2)!important}
#swagger-ui input,#swagger-ui textarea,#swagger-ui select{
  font-family:var(--mono)!important;font-size:13px!important;border-radius:5px!important;
  border:1px solid var(--line2)!important;background:var(--bg2)!important;color:var(--ink)!important;box-shadow:none!important}
#swagger-ui pre,#swagger-ui code{font-family:var(--mono)!important;background:var(--bg2)!important;
  border-radius:5px!important;color:var(--ink2)!important;font-size:12px!important}
#swagger-ui table thead tr th{font-family:var(--mono)!important;font-size:10px!important;
  color:var(--ink3)!important;border-bottom:1px solid var(--line)!important;background:transparent!important}
#swagger-ui table tbody td{border-color:var(--line)!important;color:var(--ink2)!important;background:transparent!important}
#swagger-ui .parameter__name{font-family:var(--mono);color:var(--ink)!important}
#swagger-ui .parameter__type{font-family:var(--mono);color:var(--ink3)!important}
#swagger-ui .dialog-ux .modal-ux,#swagger-ui .auth-wrapper{
  background:var(--bg1)!important;border:1px solid var(--line2)!important;
  border-radius:10px!important;box-shadow:0 20px 60px rgba(0,0,0,.6)!important}
#swagger-ui .model-box,#swagger-ui .model,#swagger-ui .model-title{color:var(--ink2)!important}
#swagger-ui .markdown p,#swagger-ui .renderedMarkdown p{color:var(--ink2)!important;font-family:var(--sans)}
#swagger-ui section.models{border:1px solid var(--line)!important;border-radius:8px!important;background:var(--bg1)!important}
#swagger-ui .tab li button.tablinks{color:var(--ink3)!important;font-family:var(--mono)}
#swagger-ui .info a{color:var(--blue)!important}
#swagger-ui .response-col_status{font-family:var(--mono);color:var(--ink2)}

/* ── FOOTER ── */
footer{padding:56px 0 32px;border-top:1px solid var(--line);position:relative;z-index:1}
.fg{display:grid;grid-template-columns:2fr 1fr 1fr;gap:48px;padding-bottom:36px;border-bottom:1px solid var(--line);margin-bottom:28px}
.fg h4{font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.14em;color:var(--ink4);margin-bottom:14px}
.fg p{font-size:13px;color:var(--ink3);line-height:1.65;max-width:340px}
.fg ul{list-style:none;display:flex;flex-direction:column;gap:9px;font-size:13px;color:var(--ink3)}
.fg a:hover{color:var(--ink)}
.fb{display:flex;justify-content:space-between;font-family:var(--mono);font-size:10px;color:var(--ink4);letter-spacing:.06em}

/* ── RESPONSIVE ── */
@media(max-width:980px){
  .mc.feat,.mc.s6{grid-column:span 12}
  .mc.s4,.mc.s3{grid-column:span 6}
  .pgrid{grid-template-columns:1fr}
  .fg{grid-template-columns:1fr;gap:28px}
}
@media(max-width:640px){
  .w,.w nav{padding-left:18px;padding-right:18px}
  nav{padding-left:18px;padding-right:18px}
  .mc.s4,.mc.s3,.mc.s6,.mc.feat{grid-column:span 12}
  .stats{flex-direction:column;gap:20px}
  .stat{border:none;margin:0;padding:0}
  .nav-links a:not(.nav-cta){display:none}
  .hero{padding:64px 0 56px}
  #swagger-ui{padding-left:18px;padding-right:18px}
}
@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}

--- lean-ctx: ctx_compose bundles search+read+symbols in one call ---