/* Shared local reader; scoped to avoid changing any table's controls. */
.party-rules-entry{font:inherit;font-size:13px;font-weight:650;border:1px solid #bbc9bf;border-radius:10px;color:#244d42;background:#f4f7ee;min-height:44px;padding:8px 12px;cursor:pointer;white-space:nowrap;flex-shrink:0}
.party-rules-landing{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 0;margin-bottom:10px;border-bottom:1px solid #d9dfd5;color:#244d42;font-size:14px}
body.party-reading-rules{overflow:hidden}
.party-rules-backdrop{position:fixed;inset:0;z-index:10000;background:#0c211ca6;display:flex;justify-content:center;align-items:center;padding:24px;isolation:isolate;color:#213d34;font-family:system-ui,-apple-system,'PingFang SC',sans-serif}
.party-rulebook{box-sizing:border-box;width:min(100%,720px);height:min(900px,100%);min-height:0;background:#faf9f3;border-radius:20px;box-shadow:0 18px 70px #0004;display:flex;flex-direction:column;overflow:hidden;text-align:left}
.party-rulebook *{box-sizing:border-box;letter-spacing:normal}
.party-rule-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:20px 24px 14px;border-bottom:1px solid #e1e4d9;flex-shrink:0;background:#f0f3e9}
.party-rule-header h2{margin:4px 0 0;font-size:21px;line-height:1.35;color:#213d34}
.party-rule-header small{font-size:12px;color:#5d7265}
.party-rulebook button{font:inherit;color:#244d42;border:1px solid #bccbbe;background:#fffefa;min-height:44px;border-radius:10px;padding:8px 12px;cursor:pointer;white-space:nowrap}
.party-rule-header button{flex-shrink:0}
.party-rule-search{display:flex;align-items:center;gap:8px;padding:14px 24px 0;flex-shrink:0}
.party-rule-search-label{position:absolute;width:1px;height:1px;clip-path:inset(50%);overflow:hidden}
.party-rule-search input{font:inherit;font-size:16px;min-width:0;flex:1;width:0;min-height:44px;padding:9px 12px;border:1px solid #c8d2c7;border-radius:10px;color:#213d34;background:#fff}
.party-rule-search button{font-size:13px}
.party-rule-search-status{font-size:12px;color:#65765c;line-height:1.5;margin:7px 24px 0;flex-shrink:0}
.party-rule-search-status:empty{display:none}
.party-rule-scroll{overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;flex:1;min-height:0;padding:14px 24px 32px;overflow-wrap:anywhere}
.party-rule-edition{font-size:12px;line-height:1.6;color:#697a65;margin:0 0 12px}
.party-rule-goal{font-size:17px;font-weight:650;line-height:1.8;color:#244d42;margin:0 0 20px}
.party-rule-section{margin:0 0 12px;border:1px solid #dce2d3;border-radius:12px;background:#fffef9;padding:0}
.party-rule-section[hidden]{display:none}
.party-rule-section summary{font-size:16px;font-weight:650;padding:15px;min-height:52px;line-height:1.5;cursor:pointer;color:#294b3e;list-style:revert}
.party-rule-section[open] summary{border-bottom:1px solid #edf0e5}
.party-rule-copy{padding:4px 16px 16px;font-size:15px;line-height:1.9;color:#374a3d}
.party-rule-copy ol{padding:0 0 0 22px;margin:12px 0 0}
.party-rule-copy li{padding-left:3px;margin:0 0 12px}
.party-rule-copy li:last-child{margin-bottom:0}
.party-rule-copy p{font-size:15px;line-height:1.9;color:#374a3d;margin:10px 0 0}
.party-rule-example{background:#edf4e8;border-left:3px solid #739767;padding:12px;border-radius:4px}
.party-rule-question h3{font-size:15px;line-height:1.6;margin:16px 0 0;color:#294b3e}
.party-rule-question p{margin-top:5px}
.party-rule-footer{font-size:12px;line-height:1.7;color:#687564;margin:22px 0 0}
.party-rulebook :focus-visible,.party-rules-entry:focus-visible{outline:3px solid #a47429;outline-offset:2px}
@media(max-width:600px){.party-rules-backdrop{padding:0}.party-rulebook{width:100%;height:100%;height:100dvh;border-radius:0}.party-rule-header{padding:calc(14px + env(safe-area-inset-top)) 16px 12px}.party-rule-header h2{font-size:19px}.party-rule-search{padding:12px 16px 0}.party-rule-search-status{margin-left:16px;margin-right:16px}.party-rule-scroll{padding:14px 16px calc(24px + env(safe-area-inset-bottom))}.party-rule-header button{padding:8px 10px}.party-rule-copy{padding:4px 12px 14px}}
/* Pictures teach first; optional rules remain broken into bite-sized points. */
.party-rule-step[hidden],.party-rule-step-nav[hidden]{display:none}
.party-rule-step-kicker{display:block;color:#79835f;font-size:11px;letter-spacing:1px;margin-top:14px;text-transform:uppercase}
.party-rule-step h3{font-size:19px;line-height:1.4;color:#24493e;margin:5px 0 13px}
.party-rule-step p{font-size:15px;line-height:1.7;margin:12px 0 4px}
.rule-diagram{display:block;width:100%;height:auto;max-height:220px;overflow:hidden;font-family:system-ui,-apple-system,'PingFang SC',sans-serif}
.party-rule-step-nav{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:16px}
.party-rule-step-nav>div{display:flex;gap:4px}
.party-rulebook .party-rule-step-nav button{font-size:12px;padding:6px 8px;min-height:44px}
.party-rulebook .party-rule-step-nav [data-rule-go]{min-width:32px;border:0;background:transparent;padding:4px}
.party-rulebook .party-rule-step-nav [aria-pressed=true]{background:#315f50;color:#fff;border-radius:50%}
.party-rulebook button:disabled{opacity:.4;cursor:default}
.party-rule-more-label{font-size:12px;color:#6b7961;margin:20px 1px 10px}
.party-rule-figure{margin:12px 0 4px}
.party-rule-figure figcaption{font-size:13px;color:#506d55;text-align:center;margin-top:8px}
.party-rule-demo-note{display:block;text-align:center;color:#7c846e;font-size:11px;line-height:1.5;margin-bottom:15px}
.party-rule-copy .party-rule-points{list-style:none;counter-reset:rule-point;margin:12px 0 0;padding:0}
.party-rule-points>li{counter-increment:rule-point;position:relative;background:#f5f6ee;padding:12px 12px 12px 40px;border-radius:9px;margin-bottom:10px}
.party-rule-points>li:before{content:counter(rule-point,decimal-leading-zero);position:absolute;left:10px;top:15px;font-size:11px;font-weight:750;color:#849265}
.party-rule-copy .party-rule-points p{margin:0 0 7px;font-size:14px;line-height:1.8}
.party-rule-copy .party-rule-points p:last-child{margin:0}
.party-rule-goal{font-size:15px;line-height:1.75;font-weight:500;margin-bottom:14px}
@media(max-width:350px){.party-rule-copy{padding-left:10px;padding-right:10px}.party-rule-step-nav{gap:3px}.party-rule-step-nav>div{gap:1px}.party-rulebook .party-rule-step-nav button{padding:6px;min-width:30px}}
