:root{font-family:system-ui,sans-serif;color:#243331;background:#fafbf9;font-synthesis:none}*{box-sizing:border-box}body{margin:0}header,footer{max-width:960px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px}header a{display:flex;align-items:center;gap:12px;font-weight:700;text-decoration:none}header span,.eyebrow{color:#586660;font-size:.85rem}main{max-width:800px;margin:32px auto 64px;padding:0 24px}h1{font-size:clamp(2.2rem,6vw,3.6rem);line-height:1.08;letter-spacing:-.045em;max-width:720px}h2{font-size:1.35rem;margin-top:0}p,li{line-height:1.7}a{color:#3448ba;text-underline-offset:3px}.lead{font-size:1.2rem;color:#586660}section{border-top:1px solid #dce2db;margin-top:32px;padding-top:28px}blockquote{margin:20px 0;background:#edf0fb;border-left:3px solid #4056ce;padding:18px 22px;line-height:1.7}code{overflow-wrap:anywhere;font-size:.9em}footer{border-top:1px solid #dce2db;font-size:.85rem;flex-wrap:wrap}button,select{font:inherit;padding:10px 14px;border-radius:8px;border:1px solid #b5beb8;background:white;color:inherit}button{cursor:pointer}button.primary{color:white;background:#4056ce;border-color:#4056ce}button:disabled{cursor:default;opacity:.55}button:focus-visible,a:focus-visible,select:focus-visible{outline:3px solid #df973c;outline-offset:3px}.toolbar{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.notice{padding:14px 18px;background:#edf0fb;border-radius:8px}.pieces{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px;padding:0;list-style:none}.piece{border:1px solid #dce2db;padding:18px;border-radius:10px;background:white}.piece[aria-current=true]{border-color:#4056ce;box-shadow:0 0 0 2px #4056ce}.piece strong{display:block}.piece small{display:block;margin-top:8px;color:#586660}pre{white-space:pre-wrap;overflow-wrap:anywhere;background:#eef1ec;padding:18px;border-radius:8px;font-size:.85rem}dialog{max-width:600px;width:calc(100% - 32px);border:1px solid #b5beb8;border-radius:12px;padding:24px}dialog::backdrop{background:#17211e66}
