/* Player guide (/runbook). Builds on style.css + article.css. */
.runbook-main{max-width:1040px}
.runbook-lead{font-size:1.2rem;line-height:1.75;color:var(--text)}
.rb-toc{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:.6rem 1.4rem;margin:2rem 0 0;padding:1.4rem 1.6rem;border:1px solid var(--line);border-radius:14px;background:var(--panel);list-style:none;counter-reset:toc}
.rb-toc li{counter-increment:toc;font-size:.95rem;line-height:1.5}
.rb-toc li::before{content:counter(toc,decimal-leading-zero);color:var(--green);font-weight:650;font-size:.8rem;letter-spacing:.1em;margin-right:.6rem}
.rb-toc a{color:var(--text);text-decoration:none}
.rb-toc a:hover{color:var(--green)}
.flow{display:flex;flex-wrap:wrap;gap:.55rem;margin:1.6rem 0 0;padding:0;list-style:none;counter-reset:flow}
.flow li{counter-increment:flow;display:flex;align-items:center;gap:.55rem;padding:.6rem .9rem .6rem .7rem;border:1px solid var(--line);border-radius:999px;background:var(--panel);font-size:.9rem;font-weight:550}
.flow li::before{content:counter(flow);display:grid;place-items:center;width:1.5rem;height:1.5rem;border-radius:50%;background:var(--green);color:#1b2417;font-size:.75rem;font-weight:700}
.flow li.guest::before{background:var(--orange)}
.who{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1rem;margin:1.6rem 0 0}
.who div{border:1px solid var(--line);border-radius:14px;padding:1.2rem 1.3rem;background:var(--panel)}
.who h3{margin:0 0 .5rem;font-size:1rem;font-weight:650;color:var(--green)}
.who p{margin:0;font-size:.92rem;line-height:1.65;color:#c9d1c8}
.step{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1.5rem 2.5rem;align-items:start;margin:2.2rem 0 0;padding-top:2rem;border-top:1px solid var(--line)}
.step.wide{grid-template-columns:1fr}
.step h3{grid-column:1/-1;margin:0;font-size:1.3rem;font-weight:620;letter-spacing:-.02em;line-height:1.3}
.step h3 span{display:inline-grid;place-items:center;min-width:2rem;height:2rem;padding:0 .5rem;margin-right:.75rem;border-radius:8px;background:var(--green);color:#1b2417;font-size:.85rem;font-weight:700;vertical-align:middle}
.step.guest h3 span{background:var(--orange)}
.step .text p:first-child{margin-top:0}
.step .text ul{margin-top:.8rem}
figure.shot{margin:0;display:flex;flex-direction:column;gap:.6rem}
figure.shot img{display:block;width:100%;height:auto;border:1px solid #2b3430;border-radius:14px;background:#111513;box-shadow:0 18px 50px #0006}
figure.shot.narrow{max-width:364px}
figure.shot.card{max-width:478px}
figure.shot figcaption{font-size:.82rem;line-height:1.6;color:var(--muted)}
.pair{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.2rem}
.callout{margin:1.4rem 0;padding:1rem 1.2rem;border:1px solid #3a4a34;border-left:3px solid var(--green);border-radius:10px;background:#161d18;font-size:.95rem;line-height:1.7;color:#d5ddd3}
.callout.warn{border-color:#5a4436;border-left-color:var(--orange);background:#1d1814}
.callout strong{color:var(--text)}
.rb-table{width:100%;border-collapse:collapse;margin:1.2rem 0;font-size:.93rem;line-height:1.55}
.rb-table th,.rb-table td{padding:.7rem .8rem;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.rb-table th{color:var(--green);font-weight:650;font-size:.78rem;letter-spacing:.1em;text-transform:uppercase}
.rb-table td:first-child{color:var(--text);font-weight:550;white-space:nowrap}
.table-wrap{overflow-x:auto}
.runbook-main kbd{font-size:.85rem;padding:.2rem .5rem;border-radius:6px}
.keymap{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.6rem;margin:1rem 0 0;padding:0;list-style:none}
.keymap li{display:flex;justify-content:space-between;align-items:center;gap:.6rem;padding:.6rem .8rem;border:1px solid var(--line);border-radius:10px;background:var(--panel);font-size:.9rem}
.keymap li b{font-weight:600;color:var(--text)}
.pad{width:100%;max-width:640px;height:auto;display:block;margin:1.2rem auto 0}
.pad text{font-family:Inter,ui-sans-serif,system-ui,"Segoe UI",sans-serif}
.faq details{border-top:1px solid var(--line);padding:.2rem 0}
.faq details:last-child{border-bottom:1px solid var(--line)}
.faq summary{cursor:pointer;padding:.9rem 0;font-weight:600;color:var(--text);list-style:none;display:flex;justify-content:space-between;gap:1rem}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";color:var(--green);font-weight:700}
.faq details[open] summary::after{content:"–"}
.faq details p{margin:0 0 1rem;color:#c9d1c8}
@media(max-width:760px){.step{grid-template-columns:1fr}.runbook-main{padding:2.75rem 1.4rem 3rem}.rb-toc{padding:1.1rem}}
@media print{.rb-toc,.flow{display:none}figure.shot img{box-shadow:none;border-color:#999}}
