:root{--bg: #f4f6f8;--bg-elev: #ffffff;--ink: #0f1c24;--muted: #5a6b75;--line: rgba(15, 28, 36, .1);--accent: #0d6e6e;--accent-hover: #0a5858;--accent-soft: rgba(13, 110, 110, .1);--danger: #b42318;--ok: #0d6e6e;--font-display: "Fraunces", Georgia, serif;--font: "DM Sans", system-ui, sans-serif;--mono: "IBM Plex Mono", ui-monospace, monospace;--shadow: 0 1px 0 rgba(15, 28, 36, .04), 0 12px 40px rgba(15, 28, 36, .06);--radius: .5rem}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;font-family:var(--font);color:var(--ink);background-color:var(--bg);background-image:linear-gradient(180deg,#f4f6f8eb,#f4f6f8f7),linear-gradient(rgba(13,110,110,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(13,110,110,.04) 1px,transparent 1px);background-size:auto,48px 48px,48px 48px;background-attachment:fixed}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.shell{max-width:1040px;margin:0 auto;padding:1.25rem 1.5rem 4rem;animation:pageIn .35s ease-out}.shell--marketing{max-width:none;padding:0;animation:none}.shell--marketing .nav{margin-bottom:0;padding:1.25rem 1.5rem 1rem;border-bottom:1px solid var(--line)}.nav-inner{display:flex;align-items:center;justify-content:space-between;gap:1rem;width:100%}.shell--marketing .nav-inner{max-width:1120px;margin:0 auto}@keyframes pageIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.nav{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:2.75rem;padding-bottom:1rem;border-bottom:1px solid var(--line)}.brand{font-family:var(--font-display);font-weight:600;font-size:1.35rem;letter-spacing:-.03em;color:var(--ink);text-decoration:none}.brand:hover{text-decoration:none;color:var(--accent)}.brand span{color:var(--accent)}.nav-links{display:flex;flex-wrap:wrap;gap:.35rem 1.1rem;align-items:center;font-size:.92rem;font-weight:500}.nav-links a{color:var(--muted);text-decoration:none;position:relative;padding:.15rem 0}.nav-links a:hover,.nav-links a.active{color:var(--ink)}.nav-links a:after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:2px;background:var(--accent);transform:scaleX(0);transition:transform .2s ease;transform-origin:left}.nav-links a:hover:after,.nav-links a.active:after{transform:scaleX(1)}.hero{min-height:calc(100vh - 8rem);display:flex;flex-direction:column;justify-content:center;gap:1.15rem;padding:1rem 0 3rem;max-width:36rem}.hero h1{font-family:var(--font-display);font-size:clamp(2.75rem,7vw,4.1rem);font-weight:600;line-height:1.02;letter-spacing:-.04em;margin:0;color:var(--ink)}.hero p{margin:0;color:var(--muted);font-size:1.125rem;line-height:1.55}.cta-row{display:flex;flex-wrap:wrap;gap:.65rem;margin-top:.35rem}.key-options{display:grid;gap:1.25rem;margin:1rem 0 0}@media(min-width:860px){.key-options{grid-template-columns:repeat(3,minmax(0,1fr))}}.key-option{border:1px solid var(--line);border-radius:var(--radius);background:var(--bg-elev);padding:1.15rem 1.25rem 1.25rem}.key-option h3{margin:0 0 .5rem;font-size:1.05rem}.key-option p{margin:0 0 1rem;color:var(--muted);font-size:.95rem;line-height:1.5}.key-option .btn{width:100%}.key-option-custom{margin-top:1.25rem}.key-option-custom .btn:not(.ghost){width:auto}.custom-key-toggle-row{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:.75rem 1rem}.custom-key-toggle-row h3{margin:0 0 .35rem}.custom-key-toggle-row p{margin:0;max-width:36rem}.custom-key-toggle-row .btn{flex-shrink:0;width:auto}.custom-key-form{display:grid;gap:.85rem 1rem;grid-template-columns:1fr;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--line)}.custom-key-actions{display:flex;flex-wrap:wrap;gap:.65rem}@media(min-width:720px){.custom-key-form{grid-template-columns:1fr 1fr}}.custom-key-form .field-wide{grid-column:1 / -1}.custom-key-form .field{display:flex;flex-direction:column;gap:.35rem}.custom-key-form .field>span,.custom-key-form .tools-fieldset legend{font-size:.85rem;font-weight:600;color:var(--ink)}.custom-key-form input[type=text],.custom-key-form input[type=number],.custom-key-form select{font:inherit;padding:.55rem .7rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--bg);color:var(--ink)}.custom-key-form .field-check{flex-direction:row;align-items:flex-start;gap:.55rem;grid-column:1 / -1}.custom-key-form .field-check span{font-weight:400;color:var(--muted);line-height:1.4}.field-hint{margin:0;color:var(--muted);font-size:.95rem;grid-column:1 / -1}.tools-fieldset{border:1px solid var(--line);border-radius:var(--radius);padding:.75rem .85rem .85rem;margin:0}.tool-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(11rem,1fr));gap:.35rem .75rem;margin:.5rem 0 .65rem}.tool-check{display:flex;align-items:center;gap:.4rem;font-size:.85rem;cursor:pointer}.tools-fieldset .btn.ghost{padding:.35rem .65rem;font-size:.85rem}.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid transparent;border-radius:var(--radius);padding:.7rem 1.15rem;font:inherit;font-weight:600;font-size:.95rem;cursor:pointer;background:var(--accent);color:#fff;transition:background .15s ease,border-color .15s ease;text-decoration:none}.btn:hover{background:var(--accent-hover);text-decoration:none}.btn.secondary{background:transparent;border-color:var(--line);color:var(--ink)}.btn.secondary:hover{border-color:var(--accent);background:var(--accent-soft)}.btn.ghost{background:transparent;border:none;color:var(--accent);padding:.4rem .65rem;font-size:.85rem}.btn:disabled{opacity:.5;cursor:not-allowed}.page{animation:pageIn .3s ease-out}.page h1,.panel h2{font-family:var(--font-display);font-weight:600;letter-spacing:-.03em;margin:0 0 .5rem;font-size:1.85rem}.page h2,.panel h3{font-family:var(--font-display);font-weight:600;letter-spacing:-.02em;margin:2rem 0 .65rem;font-size:1.25rem}.lead{margin:0 0 1.5rem;color:var(--muted);font-size:1.05rem;line-height:1.5;max-width:40rem}.section{margin-bottom:2.25rem;padding-top:.25rem}.section p{color:var(--muted);line-height:1.55;max-width:42rem}.price-block{border:1px solid var(--line);border-radius:var(--radius);background:var(--bg-elev);padding:1.5rem;box-shadow:var(--shadow);max-width:28rem}.price-block-disabled{opacity:.72;box-shadow:none}.price-block h3{margin:0 0 .35rem;font-size:1.15rem}.price-block .amt{font-family:var(--mono);font-size:1.35rem;color:var(--accent);margin-bottom:.75rem}.price-block ul{margin:0;padding-left:1.15rem;color:var(--muted);line-height:1.6}.form{display:flex;flex-direction:column;gap:.85rem;max-width:22rem}label{display:flex;flex-direction:column;gap:.35rem;font-size:.88rem;font-weight:500;color:var(--muted)}input{font:inherit;padding:.7rem .8rem;border-radius:var(--radius);border:1px solid var(--line);background:var(--bg-elev);color:var(--ink)}input:focus{outline:2px solid var(--accent-soft);border-color:var(--accent)}.mono{font-family:var(--mono);font-size:.85rem}.msg{color:var(--muted);font-size:.9rem}.msg.error{color:var(--danger)}.msg.ok{color:var(--ok)}.table{width:100%;border-collapse:collapse;font-size:.9rem;background:var(--bg-elev);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.table th,.table td{text-align:left;padding:.7rem .85rem;border-bottom:1px solid var(--line)}.table th{background:#0f1c2408;font-weight:600;font-size:.8rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.table tr:last-child td{border-bottom:none}.stat{font-family:var(--mono);font-size:.88rem}.interact{border:1px solid var(--line);border-radius:var(--radius);background:var(--bg-elev);padding:1.15rem 1.25rem;box-shadow:var(--shadow);animation:reveal .25s ease-out}@keyframes reveal{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.secret-row{display:flex;flex-wrap:wrap;align-items:flex-start;gap:.65rem}.secret-box{flex:1;min-width:12rem;word-break:break-all;padding:.85rem 1rem;background:#0f1c240a;border:1px solid var(--line);border-radius:var(--radius);font-family:var(--mono);font-size:.8rem;line-height:1.45;margin:0}.code-block{position:relative;margin:.75rem 0 0}.code-block pre{margin:0;padding:1rem 5.5rem 1rem 1rem;background:#0f1c24;color:#e8eef2;border-radius:var(--radius);font-family:var(--mono);font-size:.78rem;line-height:1.5;overflow-x:auto}.code-block .copy-abs{position:absolute;top:.55rem;right:.55rem}.doc-list{list-style:none;padding:0;margin:.75rem 0 0}.doc-list li{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .75rem;padding:.65rem 0;border-bottom:1px solid var(--line);color:var(--muted);font-size:.92rem}.doc-list .mono{color:var(--ink)}.endpoint-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin-top:1rem}.endpoint-grid>div{padding:.25rem 0}.endpoint-grid ul{margin:.4rem 0 0;padding-left:1.1rem;color:var(--muted);font-size:.9rem;line-height:1.55}.endpoint-grid li{font-family:var(--mono);font-size:.78rem}.landing{color:var(--ink)}.landing-hero{position:relative;min-height:calc(100vh - 5.5rem);display:flex;align-items:center;padding:2.5rem 1.5rem 3.5rem;overflow:hidden;background:radial-gradient(ellipse 80% 60% at 85% 20%,rgba(13,110,110,.18),transparent 55%),radial-gradient(ellipse 60% 50% at 10% 90%,rgba(15,28,36,.08),transparent 50%),linear-gradient(165deg,#e8eef1,#f4f6f8 42%,#dfe8ea)}.landing-hero:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(13,110,110,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(13,110,110,.05) 1px,transparent 1px);background-size:56px 56px;-webkit-mask-image:linear-gradient(180deg,rgba(0,0,0,.55),transparent 92%);mask-image:linear-gradient(180deg,rgba(0,0,0,.55),transparent 92%);pointer-events:none}.landing-hero-inner{position:relative;z-index:1;width:100%;max-width:1120px;margin:0 auto;display:grid;gap:2.75rem;align-items:center}@media(min-width:900px){.landing-hero-inner{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:3.5rem}}.landing-hero-copy{display:flex;flex-direction:column;gap:1rem;max-width:32rem;animation:landingCopyIn .65s ease-out both}.landing-hero-copy h1{font-family:var(--font-display);font-size:clamp(3rem,8vw,4.75rem);font-weight:600;line-height:.98;letter-spacing:-.045em;margin:0;color:var(--ink)}.landing-headline{margin:0;font-family:var(--font-display);font-size:clamp(1.35rem,3vw,1.75rem);font-weight:500;line-height:1.25;letter-spacing:-.02em;color:var(--ink)}.landing-lede{margin:0;color:var(--muted);font-size:1.1rem;line-height:1.55;max-width:28rem}.landing-hero-copy .cta-row{margin-top:.5rem}.landing-panel{border-radius:calc(var(--radius) + 2px);background:#0f1c24;color:#e8eef2;box-shadow:0 1px #ffffff0f inset,0 24px 48px #0f1c2438;overflow:hidden;animation:landingPanelIn .75s ease-out .12s both}.landing-panel-chrome{display:flex;align-items:center;gap:.4rem;padding:.75rem 1rem;border-bottom:1px solid rgba(232,238,242,.1);background:#ffffff08}.landing-panel-chrome span{width:.55rem;height:.55rem;border-radius:50%;background:#e8eef238}.landing-panel-chrome span:nth-child(1){background:#b42318a6}.landing-panel-chrome span:nth-child(2){background:#c49628b3}.landing-panel-chrome span:nth-child(3){background:#0d6e6ed9}.landing-panel-chrome em{margin-left:auto;font-style:normal;font-family:var(--mono);font-size:.72rem;color:#e8eef273;letter-spacing:.02em}.landing-panel-body{margin:0;padding:1.25rem 1.35rem 1.5rem;font-family:var(--mono);font-size:.82rem;line-height:1.65;overflow-x:auto}.landing-panel-body code{font-family:inherit}.lp-prompt{color:#0d6e6ef2}.lp-cmd{color:#e8eef2}.lp-muted{color:#e8eef273}.lp-ok{color:#7eb8b0}.lp-accent{color:#9fd4ce}.landing-section{padding:4rem 1.5rem;border-top:1px solid var(--line)}.landing-section-inner{max-width:1120px;margin:0 auto}.landing-section h2{font-family:var(--font-display);font-weight:600;font-size:clamp(1.65rem,3.5vw,2.25rem);letter-spacing:-.03em;line-height:1.15;margin:0 0 1rem;max-width:28rem}.landing-section>.landing-section-inner>p,.landing-section-lede{margin:0;color:var(--muted);font-size:1.08rem;line-height:1.6;max-width:36rem}.landing-section--steps{background:linear-gradient(180deg,rgba(13,110,110,.04),transparent 60%)}.landing-section--steps .landing-section-lede{margin-bottom:2.25rem}.landing-steps{list-style:none;margin:0;padding:0;display:grid;gap:0}@media(min-width:800px){.landing-steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:0 2rem}}.landing-step{display:flex;gap:1rem;padding:1.5rem 0;border-top:1px solid var(--line);animation:landingStepIn .55s ease-out both}@media(min-width:800px){.landing-step{flex-direction:column;gap:.85rem;padding:0;border-top:none;border-left:1px solid var(--line);padding-left:1.5rem}.landing-step:first-child{border-left:none;padding-left:0}}.landing-step:nth-child(1){animation-delay:.05s}.landing-step:nth-child(2){animation-delay:.15s}.landing-step:nth-child(3){animation-delay:.25s}.landing-step-num{flex-shrink:0;font-family:var(--mono);font-size:.85rem;font-weight:500;color:var(--accent);line-height:1.4}.landing-step h3{font-family:var(--font-display);font-size:1.15rem;font-weight:600;letter-spacing:-.02em;margin:0 0 .4rem}.landing-step p{margin:0;color:var(--muted);font-size:.98rem;line-height:1.55}.landing-caps{display:grid;gap:0;margin-top:2rem;border-top:1px solid var(--line)}@media(min-width:720px){.landing-caps{grid-template-columns:1fr 1fr}}.landing-cap{padding:1.5rem 0;border-bottom:1px solid var(--line)}@media(min-width:720px){.landing-cap{padding:1.75rem 1.75rem 1.75rem 0}.landing-cap:nth-child(2n){padding-left:1.75rem;border-left:1px solid var(--line)}.landing-cap:nth-child(-n+2){border-top:none}}.landing-cap h3{font-family:var(--font-display);font-size:1.1rem;font-weight:600;letter-spacing:-.02em;margin:0 0 .45rem}.landing-cap p{margin:0;color:var(--muted);font-size:.98rem;line-height:1.55;max-width:28rem}.landing-close{padding:4.5rem 1.5rem 5rem;border-top:1px solid var(--line);background:radial-gradient(ellipse 70% 80% at 50% 100%,rgba(13,110,110,.12),transparent 65%),var(--bg)}.landing-close h2{font-family:var(--font-display);font-weight:600;font-size:clamp(1.65rem,3.5vw,2.25rem);letter-spacing:-.03em;margin:0 0 .75rem}.landing-close p{margin:0 0 1.35rem;color:var(--muted);font-size:1.08rem;line-height:1.55;max-width:28rem}@keyframes landingCopyIn{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@keyframes landingPanelIn{0%{opacity:0;transform:translate(18px)}to{opacity:1;transform:none}}@keyframes landingStepIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.landing-hero-copy,.landing-panel,.landing-step{animation:none}}@media(max-width:899px){@keyframes landingPanelIn{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}}
