@font-face{
font-family:"Hanken Grotesk";
src:url(hanken-grotesk.woff2) format("woff2");
font-weight:100 900;
font-display:swap;
}
:root{
color-scheme:light;
--ink:#0f172a;
--ink2:#3b4758;
--muted:#556274;
--line:#e3e7ec;
--bg:#fff;
--bg2:#f4f6f8;
--code:#f1f3f6;
--accent:#1a73e8;
--brand:#0a8efe;
--warn:#fff6dc;
--ul:2px;
--br:8px;
--pill:9999px;
--ff:"Hanken Grotesk",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
--mono:ui-monospace,"SF Mono",Menlo,Consolas,monospace;
}
*{
box-sizing:border-box;
}
html{
scroll-padding-top:88px;
}
body{
margin:0;
font:450 17px/1.65 var(--ff);
color:var(--ink2);
background:var(--bg);
-webkit-font-smoothing:antialiased;
-webkit-text-size-adjust:100%;
}
a{
color:var(--accent);
font-weight:600;
text-decoration:none;
}
a:hover{
text-decoration:underline;
text-decoration-thickness:var(--ul);
text-underline-offset:4px;
}
:focus-visible{
outline:2px solid var(--accent);
outline-offset:2px;
}
.top{
position:sticky;
top:0;
z-index:10;
background:rgba(255,255,255,.92);
-webkit-backdrop-filter:blur(12px);
backdrop-filter:blur(12px);
transition:box-shadow .2s;
}
.top.scrolled{
box-shadow:0 1px 2px rgba(31,35,40,.14),0 2px 3px rgba(31,35,40,.1);
}
.top-in{
display:grid;
grid-template-columns:1fr auto 1fr;
align-items:center;
gap:24px;
max-width:1248px;
min-height:76px;
margin:0 auto;
padding:0 24px;
}
.brand{
display:inline-flex;
align-items:center;
gap:10px;
justify-self:start;
color:var(--ink);
font-size:22px;
font-weight:700;
letter-spacing:-.01em;
}
.brand:hover{
text-decoration:none;
}
.brand img{
display:block;
width:36px;
height:36px;
}
.brand span{
display:flex;
flex-direction:column;
line-height:1.1;
}
.brand em{
margin-top:3px;
color:var(--muted);
font-size:11px;
font-style:normal;
font-weight:600;
letter-spacing:.2em;
text-transform:uppercase;
}
.top nav{
display:flex;
gap:30px;
}
.top nav a{
color:var(--ink2);
font-size:17px;
white-space:nowrap;
}
.top nav a:hover{
color:var(--ink);
text-underline-offset:6px;
}
.top-action{
justify-self:end;
display:inline-flex;
align-items:center;
min-height:44px;
padding:0 22px;
color:var(--ink);
font-size:17px;
white-space:nowrap;
background:var(--bg2);
border-radius:var(--pill);
}
.top-action:hover{
text-decoration:none;
background:var(--line);
}
main{
max-width:860px;
margin:0 auto;
padding:56px 24px 32px;
}
footer{
display:flex;
flex-wrap:wrap;
justify-content:center;
gap:8px 24px;
max-width:860px;
margin:48px auto 0;
padding:32px 24px 48px;
font-size:15px;
}
footer a{
color:var(--muted);
}
footer a:hover{
color:var(--ink);
}
h1,h2,h3{
color:var(--ink);
font-weight:700;
letter-spacing:-.02em;
}
h1{
margin:24px 0 16px;
font-size:44px;
line-height:1.1;
letter-spacing:-.035em;
}
h2{
margin:56px 0 12px;
font-size:28px;
line-height:1.25;
}
h3{
margin:32px 0 8px;
font-size:20px;
line-height:1.35;
}
p,ul{
margin:12px 0;
}
li{
margin:6px 0;
}
li::marker{
color:var(--muted);
}
strong{
color:var(--ink);
font-weight:700;
}
code,pre{
font:14px/1.6 var(--mono);
}
code{
padding:2px 6px;
color:var(--ink);
background:var(--code);
border-radius:6px;
}
pre{
padding:16px 18px;
overflow-x:auto;
white-space:pre-wrap;
word-break:break-all;
color:#e2e8f0;
background:var(--ink);
border-radius:var(--br);
}
.banner{
margin:0;
padding:14px 18px;
color:#5c4708;
background:var(--warn);
border-radius:var(--br);
}
.banner strong{
color:inherit;
}
.muted{
color:var(--muted);
}
.status{
min-height:1.5em;
}
#signup,#key{
margin:24px 0;
padding:24px;
background:var(--bg2);
border-radius:12px;
}
#signup h3,#key h3{
margin-top:0;
}
label{
display:block;
margin:12px 0 6px;
color:var(--ink);
font-weight:600;
}
.check{
display:flex;
gap:10px;
align-items:flex-start;
font-weight:450;
}
.check input{
margin-top:6px;
}
input[type=email],input:not([type]){
width:100%;
max-width:420px;
min-height:48px;
padding:0 14px;
font:inherit;
color:var(--ink);
background:var(--bg);
border:1px solid #cfd6de;
border-radius:var(--br);
}
input[type=email]:focus,input:not([type]):focus{
border-color:var(--accent);
outline:2px solid var(--accent);
outline-offset:-1px;
}
button{
display:inline-flex;
align-items:center;
margin-top:16px;
min-height:48px;
padding:0 24px;
font:600 16px var(--ff);
color:#fff;
background:var(--accent);
border:0;
border-radius:var(--pill);
cursor:pointer;
}
button:hover{
background:#1558c0;
}
table{
width:100%;
margin:16px 0;
font-size:15px;
border-collapse:collapse;
}
th,td{
padding:8px 24px 8px 0;
text-align:left;
vertical-align:top;
}
th{
color:var(--ink);
font-weight:700;
white-space:nowrap;
}
td code{
white-space:nowrap;
}
.op{
margin-top:56px;
}
.op h3{
display:flex;
flex-wrap:wrap;
align-items:center;
gap:10px;
margin-top:0;
}
.op h3 code{
padding:0;
font-size:16px;
background:none;
}
.method{
display:inline-flex;
align-items:center;
height:26px;
padding:0 10px;
color:#fff;
font:700 12px/1 var(--mono);
letter-spacing:.04em;
background:var(--accent);
border-radius:var(--pill);
}
.responses{
padding-left:0;
font-size:15px;
list-style:none;
}
.responses code{
margin-right:6px;
}
.schema{
margin:0;
}
.schema[open]{
margin-bottom:24px;
}
summary{
display:block;
width:fit-content;
padding:8px 0;
color:var(--ink);
cursor:pointer;
list-style:none;
}
summary::-webkit-details-marker{
display:none;
}
summary::before{
content:"";
display:inline-block;
width:14px;
height:14px;
margin-right:10px;
vertical-align:-1px;
background:currentColor;
-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4.5 2.5 11.5 8l-7 5.5' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;
mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4.5 2.5 11.5 8l-7 5.5' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;
transition:transform .15s;
}
details[open]>summary::before{
transform:rotate(90deg);
}
summary:hover{
text-decoration:underline;
text-decoration-thickness:var(--ul);
text-underline-offset:4px;
}
blockquote{
margin:16px 0;
color:var(--muted);
}
@media(max-width:900px){
.top-in{
grid-template-columns:1fr auto;
gap:0 16px;
min-height:64px;
padding:0 16px;
}
.top nav{
grid-column:1/-1;
grid-row:2;
justify-content:safe center;
gap:20px;
margin:0 -16px;
padding:0 16px 12px;
overflow-x:auto;
scrollbar-width:none;
}
main{
padding:32px 16px 24px;
}
table{
display:block;
overflow-x:auto;
}
h1{
font-size:34px;
}
h2{
font-size:24px;
}
}
@media(max-width:480px){
.top nav{
gap:16px;
}
.top nav a{
font-size:15px;
}
}
@media(prefers-reduced-motion:reduce){
summary::before{
transition:none;
}
}
