
:root{--ink:#17243a;--gold:#c9942f;--paper:#f7f4ee;--white:#fff;--muted:#667085;--line:#e4dfd5}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--paper);line-height:1.55}
.wrap{width:min(1040px,calc(100% - 32px));margin:auto}.hero{background:#fff;border-bottom:1px solid var(--line);padding:18px 0}.banner{display:block;width:100%;max-width:900px;height:auto;margin:auto;border-radius:8px;box-shadow:0 8px 24px rgba(0,0,0,.10)}
.intro{text-align:center;padding:52px 0 30px}.eyebrow,.query-number{font-size:.76rem;font-weight:800;letter-spacing:.14em;color:#a56f13}.intro h1{font-size:clamp(2rem,5vw,3.4rem);margin:.2rem 0}.lead{font-size:1.15rem;max-width:760px;margin:0 auto 22px}.steps{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;background:#fff;padding:14px 18px;border-radius:10px;border:1px solid var(--line);max-width:700px;margin:0 auto 18px}.note{font-size:.92rem;color:var(--muted);max-width:760px;margin:auto}
.jump{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:10px 0 28px}.jump span{font-weight:700}.jump a{font-size:.84rem;text-decoration:none;color:var(--ink);background:#fff;border:1px solid var(--line);padding:7px 10px;border-radius:999px}.jump a:hover{border-color:var(--gold)}
.queries{display:grid;gap:20px}.query-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:24px;box-shadow:0 5px 18px rgba(26,35,50,.05);scroll-margin-top:18px}.query-heading{display:flex;gap:24px;align-items:flex-start;justify-content:space-between}.query-card h2{margin:.2rem 0 .45rem;font-size:1.35rem}.query-card p{margin:0;color:var(--muted)}
.copy-btn,.amazon-btn{display:inline-block;border:0;border-radius:8px;background:var(--ink);color:#fff;padding:11px 16px;font-weight:700;cursor:pointer;text-decoration:none;white-space:nowrap}.copy-btn:hover,.amazon-btn:hover{background:#263a5a}.copy-btn.copied{background:#38704a}
details{margin-top:18px;border-top:1px solid var(--line);padding-top:14px}summary{cursor:pointer;font-weight:700;color:#42526b}pre{white-space:pre-wrap;word-wrap:break-word;font:inherit;font-size:.93rem;background:#f8f8f7;border:1px solid #e7e5e1;border-radius:9px;padding:18px;max-height:480px;overflow:auto}
.disclaimer,.book-link{margin:36px 0;background:#fff;border:1px solid var(--line);border-radius:14px;padding:24px}.disclaimer h2,.book-link h2{margin-top:0}.disclaimer p{margin-bottom:0}.amazon-btn{margin-top:8px;background:#a56f13}
footer{border-top:1px solid var(--line);padding:25px 0;margin-top:40px;text-align:center;color:var(--muted);font-size:.85rem}
#toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,20px);background:#17243a;color:white;padding:10px 16px;border-radius:8px;opacity:0;pointer-events:none;transition:.2s}#toast.show{opacity:1;transform:translate(-50%,0)}
@media(max-width:650px){.hero{padding:0}.wrap{width:min(100% - 22px,1040px)}.banner{width:calc(100% + 22px);max-width:none;margin-left:-11px;border-radius:0;box-shadow:none}.intro{padding:36px 0 24px}.query-heading{display:block}.copy-btn{width:100%;margin-top:16px}.query-card{padding:18px}.jump{display:none}}

.project-card{border:2px solid #c9942f;background:#fffdf8}.project-card .query-number{color:#8a5c0d}
.project-setup{margin:20px 0;padding:18px;border:1px solid var(--line);border-radius:9px;background:var(--white)}.project-setup h3{margin:0 0 10px;font-size:1.1rem}.project-setup p{color:var(--ink)}.project-setup ol{padding-left:24px;margin:14px 0}.project-setup li+li{margin-top:10px}

/* v1.3 reader access */
.access-help{background:#f1f6f8;border-left:4px solid #39758b;border-radius:8px;padding:18px 24px;margin:22px 0 28px}
.access-help h2{font-size:1.2rem;margin:0 0 8px}.access-help p{margin:0;line-height:1.65}.access-help a{overflow-wrap:anywhere}
.access-gate{border:1px solid #d4dfe3;background:#fff;border-radius:14px;box-shadow:0 8px 24px rgba(20,50,65,.07);padding:32px;margin:25px 0 35px}
.access-gate-inner{max-width:650px;margin:auto}.access-gate h2{margin:6px 0 12px}.access-gate p{line-height:1.65}
.access-gate label{display:block;font-weight:700;margin:20px 0 7px}.access-row{display:flex;gap:12px;flex-wrap:wrap;align-items:stretch}
.access-row input{flex:1 1 230px;min-width:0;border:1px solid #9db2bb;border-radius:7px;padding:13px 15px;font:inherit}
.access-row button{border:0;cursor:pointer;font:inherit}.access-row input:focus-visible{outline:3px solid #77afc6;outline-offset:2px}
#access-error{color:#a32828;font-weight:600;margin:12px 0 0}

[hidden]{display:none !important}
