:root{--ink:#16181d;--muted:#5b6270;--line:#e4e6eb;--bg:#fff;--code-bg:#f4f5f7;--accent:#1a56db;--good:#146c43;--bad:#b3261e}*{box-sizing:border-box}body,html{padding:0;margin:0}body{background:var(--bg);color:var(--ink);font-family:IBM Plex Mono,JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:15px;line-height:1.55;-webkit-font-smoothing:antialiased}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.shell{padding:48px 24px 96px}.shell,.top-nav{max-width:860px;margin:0 auto}.top-nav{display:flex;align-items:baseline;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--line)}.top-nav .brand{font-weight:700;font-size:15px;letter-spacing:.02em}.top-nav .links{display:flex;gap:18px;font-size:14px;color:var(--muted)}h1{font-size:28px;margin:0 0 6px;letter-spacing:-.01em}h1,h2{font-weight:700}h2{font-size:18px;margin:36px 0 12px}h3{font-size:15px;font-weight:700;margin:20px 0 8px}p{margin:0 0 14px;color:var(--ink)}.subtitle{margin-bottom:34px;max-width:70ch}.badge,.subtitle{color:var(--muted)}.badge{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.04em;padding:2px 8px;border-radius:3px;border:1px solid var(--line)}.badge.easy{color:var(--good);border-color:#bfe3cc;background:#f2faf5}.badge.difficult{color:#8a5a00;border-color:#f0dcae;background:#fdf8ee}.badge.hard{color:var(--bad);border-color:#f2c4bf;background:#fdf1f0}.method{display:inline-block;font-weight:700;font-size:12px;padding:2px 6px;border-radius:3px;background:var(--ink);color:#fff;margin-right:8px}.list-item{padding:16px 0;border-bottom:1px solid var(--line)}.list-item:last-child{border-bottom:none}.list-item .row{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}.list-item .num{color:var(--muted);font-weight:700;width:22px;flex-shrink:0}.list-item .name{font-weight:700;font-size:16px}.list-item .endpoint{color:var(--muted);font-size:13px}.list-item .desc{margin-top:6px;margin-left:32px;color:var(--muted);max-width:68ch}code,pre{font-family:inherit}pre{border:1px solid var(--line);border-radius:6px;padding:14px 16px;overflow-x:auto;margin:0 0 16px}code.inline,pre{background:var(--code-bg);font-size:13px}code.inline{border:1px solid var(--line);border-radius:4px;padding:1px 6px}.panel{border:1px solid var(--line);border-radius:8px;padding:18px 20px;margin-bottom:20px}.hint{border-top:1px dashed var(--line);padding:10px 0;font-size:13.5px}.hint summary{cursor:pointer;color:var(--accent);font-weight:600}.footer-note{margin-top:60px;padding-top:20px;border-top:1px solid var(--line);color:var(--muted);font-size:12.5px}