.rules-status{padding:24px}.rules-book{display:grid;grid-template-columns:240px minmax(0,1fr);gap:32px;max-width:1080px;margin:0 auto;padding:32px 24px 48px}.rules-toc{position:sticky;top:88px;align-self:start}.rules-toc-toggle{display:none}.rules-toc ol{display:grid;gap:2px;margin:0;padding:0;list-style:none;border-left:1px solid var(--color-divider)}.rules-toc a{display:flex;align-items:baseline;gap:10px;min-height:40px;padding:9px 12px;margin-left:-1px;border-left:2px solid transparent;color:var(--color-neutral-700);font-size:14px;text-decoration:none}.rules-toc a:hover{color:var(--color-text)}.rules-toc a[aria-current=page]{border-left-color:var(--color-accent);color:var(--color-text);font-weight:700}.rules-toc-no{font-family:var(--font-heading);font-size:12px;color:var(--color-accent);font-variant-numeric:tabular-nums}.rules-spread{display:grid;gap:16px;min-width:0;perspective:1600px}.rules-page{position:relative;min-height:420px;padding:40px clamp(20px,5vw,56px) 40px clamp(28px,6vw,64px);border:1px solid var(--color-divider);border-radius:var(--radius-sm) var(--radius-lg) var(--radius-lg) var(--radius-sm);background:linear-gradient(90deg,color-mix(in srgb,var(--color-neutral-900) 55%,transparent),transparent 28px),var(--color-surface);box-shadow:var(--shadow-md);touch-action:pan-y;transform-origin:left center}.rules-page header{display:grid;gap:8px;margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid var(--color-rule)}.rules-folio{font-family:var(--font-heading);font-size:12px;letter-spacing:.08em;color:var(--color-accent)}.rules-page h2{font-size:clamp(24px,3vw,32px);line-height:1.3}.rules-page h2:focus{outline:none}.rules-page h2:focus-visible{outline:2px solid var(--color-accent);outline-offset:4px}.rules-body{display:grid;gap:16px;max-width:68ch;font-size:16px;line-height:1.85}.rules-body p{margin:0;white-space:pre-line;overflow-wrap:anywhere}.rules-updated{margin-top:32px;font-size:12px;color:var(--color-neutral-700)}.rules-empty{display:grid;gap:8px;place-content:center;min-height:240px;text-align:center;color:var(--color-neutral-700)}.rules-empty strong{font-size:18px;color:var(--color-text)}.rules-pager{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px}.rules-pager .button{min-height:48px;min-width:0;max-width:100%}.rules-pager .button:last-child{justify-self:end;text-align:right}.rules-pager .button span{display:grid;gap:2px;min-width:0}.rules-pager .button small{font-family:var(--font-body);font-weight:400;font-size:12px;color:var(--color-neutral-700);overflow:hidden;text-overflow:ellipsis}.rules-pager .button:disabled{opacity:.4;cursor:not-allowed}.rules-pager-count{font-family:var(--font-heading);font-size:13px;color:var(--color-neutral-700);font-variant-numeric:tabular-nums}.rules-hint{font-size:12px;color:var(--color-neutral-700);text-align:center}@media(prefers-reduced-motion:no-preference){.rules-page.turn-next{animation:rules-turn-next .46s cubic-bezier(.22,.61,.36,1)}.rules-page.turn-prev{transform-origin:right center;animation:rules-turn-prev .46s cubic-bezier(.22,.61,.36,1)}}@keyframes rules-turn-next{0%{opacity:.2;transform:rotateY(-32deg) translate(32px);box-shadow:-24px 0 48px #00000059}to{opacity:1;transform:none}}@keyframes rules-turn-prev{0%{opacity:.2;transform:rotateY(32deg) translate(-32px);box-shadow:24px 0 48px #00000059}to{opacity:1;transform:none}}@media(max-width:860px){.rules-book{grid-template-columns:1fr;gap:16px;padding:16px 16px 40px}.rules-toc{position:static}.rules-toc-toggle{display:flex;align-items:center;gap:8px;width:100%;min-height:48px;padding:10px 14px;border:1px solid var(--color-divider);border-radius:var(--radius-md);background:var(--color-surface);font-weight:700;text-align:left}.rules-toc-current{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:400;color:var(--color-neutral-700)}.rules-toc-toggle svg:last-child{transition:transform .16s}.rules-toc.is-open .rules-toc-toggle svg:last-child{transform:rotate(180deg)}.rules-toc ol{display:none;margin-top:8px}.rules-toc.is-open ol{display:grid}.rules-page{min-height:360px;padding:28px 18px 28px 26px}.rules-pager .button{padding-inline:10px}}
