*, *::before, *::after { box-sizing: border-box; } body { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; line-height: 1.6; max-width: 960px; margin: 0 auto; padding: 2rem 1.5rem 4rem; color: #1d1d1f; background: #fafafa; } h1, h2, h3, h4 { letter-spacing: -0.02em; } h1 { border-bottom: 3px solid #ffe01b; padding-bottom: 0.5rem; margin-top: 0; } h2 { margin-top: 2rem; } h4 { margin-bottom: 0.35rem; font-size: 0.85rem; text-transform: uppercase; letter-spacing: 0.05em; color: #555; } p { margin: 0.75rem 0; } a { color: #245bcf; } code { background: #f0f0f0; padding: 0.15em 0.4em; border-radius: 3px; font-size: 0.9em; font-family: "SF Mono", Monaco, Consolas, monospace; } pre { background: #1d1d1f; color: #e8e8e8; padding: 1rem; border-radius: 6px; overflow-x: auto; font-size: 0.82rem; line-height: 1.5; font-family: "SF Mono", Monaco, Consolas, monospace; } pre code { background: none; padding: 0; color: inherit; font-size: inherit; } .nav { background: white; border: 1px solid #e3e3e3; border-radius: 6px; padding: 0.6rem 1rem; margin-bottom: 2rem; font-size: 0.88rem; } .nav a { margin-right: 0.9rem; color: #245bcf; text-decoration: none; } .nav a:hover { text-decoration: underline; } .nav a.current { font-weight: 700; color: #1d1d1f; } .nav .sep { color: #ccc; margin-right: 0.6rem; } .debug { border: 1px solid #e3e3e3; border-radius: 6px; padding: 1rem 1.25rem; background: white; margin: 1.5rem 0; } .debug h3 { margin-top: 0; } form { margin: 1.5rem 0; } label { display: block; margin: 0.9rem 0 0.25rem; font-weight: 600; font-size: 0.9rem; } label small { font-weight: 400; color: #666; margin-left: 0.4em; } input[type=text], input[type=email], textarea, select { width: 100%; padding: 0.55rem 0.75rem; border: 1px solid #c8c8c8; border-radius: 4px; font-family: inherit; font-size: 1rem; background: white; } input:focus, textarea:focus, select:focus { outline: 2px solid #ffe01b; outline-offset: -1px; border-color: #1d1d1f; } textarea { min-height: 6em; font-family: "SF Mono", Monaco, Consolas, monospace; font-size: 0.9rem; } button, input[type=submit] { background: #ffe01b; border: 2px solid #1d1d1f; color: #1d1d1f; padding: 0.5rem 1.25rem; border-radius: 4px; font-weight: 700; font-size: 0.95rem; cursor: pointer; margin-top: 1rem; font-family: inherit; } button:hover, input[type=submit]:hover { background: #ffcd00; } button.danger { background: #fde0e0; border-color: #9b1c1c; color: #9b1c1c; } button.danger:hover { background: #fbc4c4; } .callout { border-left: 4px solid #ffe01b; padding: 0.75rem 1rem; background: white; margin: 1.5rem 0; border-radius: 0 4px 4px 0; border-top: 1px solid #e3e3e3; border-right: 1px solid #e3e3e3; border-bottom: 1px solid #e3e3e3; } .callout.warn { border-left-color: #d73a49; } .callout.ok { border-left-color: #28a745; } .callout.info { border-left-color: #245bcf; } table { width: 100%; border-collapse: collapse; margin: 1rem 0; background: white; border: 1px solid #e3e3e3; border-radius: 6px; overflow: hidden; } th, td { padding: 0.55rem 0.8rem; text-align: left; border-bottom: 1px solid #eee; font-size: 0.9rem; } th { background: #f5f5f5; font-size: 0.75rem; text-transform: uppercase; letter-spacing: 0.04em; color: #555; } tr:last-child td { border-bottom: none; } .tag { display: inline-block; padding: 0.15em 0.6em; border-radius: 10px; font-size: 0.72rem; font-weight: 700; text-transform: uppercase; margin-left: 0.5em; letter-spacing: 0.03em; } .tag-ok { background: #d4f4dd; color: #1d6b3b; } .tag-err { background: #fde0e0; color: #9b1c1c; } .step-card { display: block; background: white; border: 1px solid #e3e3e3; border-radius: 6px; padding: 1rem 1.25rem; margin: 0.6rem 0; text-decoration: none; color: inherit; transition: border-color 0.15s; } .step-card:hover { border-color: #1d1d1f; } .step-card .num { display: inline-block; width: 1.7rem; height: 1.7rem; line-height: 1.7rem; background: #1d1d1f; color: #ffe01b; text-align: center; border-radius: 50%; font-weight: 700; margin-right: 0.6em; font-size: 0.85rem; } .step-card h3 { display: inline; margin: 0; font-size: 1.05rem; } .step-card p { margin: 0.4rem 0 0 0; color: #555; font-size: 0.9rem; } .muted { color: #777; font-size: 0.85rem; } .endpoint { font-family: "SF Mono", Monaco, Consolas, monospace; font-size: 0.9rem; background: #f0f0f0; padding: 0.15em 0.5em; border-radius: 3px; } footer { margin-top: 3rem; padding-top: 1.5rem; border-top: 1px solid #e3e3e3; } ol.big-steps { padding-left: 1.5rem; } ol.big-steps li { padding: 0.4rem 0; } ol.big-steps li strong { display: block; } .two-col { display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem; } @media (max-width: 640px) { .two-col { grid-template-columns: 1fr; } }