.rules-page{max-width:1200px;margin:18px auto 50px}
.rules-back{display:inline-block;color:var(--tx2);font-size:14px;margin-bottom:24px}
.rules-header{max-width:850px;margin-bottom:32px}
.rules-header h1{font-size:clamp(24px,3.3vw,36px);line-height:1.3;letter-spacing:.01em;margin:0 0 12px}
.rules-header p{color:var(--tx2);font-size:15px;margin:0}
.rules-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:36px;align-items:start}
.rules-sidebar{position:sticky;top:105px;max-height:calc(100dvh - 130px);overflow-y:auto;scrollbar-width:thin}
.rules-contents{background:var(--sf);border:1px solid var(--bd);border-radius:14px;padding:18px}
.rules-contents>h2{margin:0;font-size:inherit;line-height:inherit;font-weight:700}
.rules-toc-list,.rules-subsections ol{list-style:none;margin:16px 0 0;padding:0}
.rules-toc-list>li+li{margin-top:14px}
.rules-toc-list a{display:block;font-size:14px;line-height:1.5;color:var(--tx);padding:3px 0}
.rules-toc-list a:hover{color:var(--ac)}
.rules-toc-list a span{color:#f19b91;margin-right:3px;font-variant-numeric:tabular-nums}
.rules-subsections{margin:4px 0 0 18px}
.rules-subsections summary{font-size:12px;color:var(--tx2);cursor:pointer;padding:3px 0}
.rules-subsections ol{margin-top:6px}
.rules-subsections a{font-size:12px;padding:5px 0}
.rules-jump{margin:20px 0 0}
.rules-jump label{display:block;font-size:13px;font-weight:600;margin-bottom:8px}
.rules-jump>div{display:flex;gap:6px}
.rules-jump input{min-width:0;width:100%;padding:9px 10px;background:var(--sf2);color:var(--tx);border:1px solid var(--bd);border-radius:8px;font:inherit;font-size:13px}
.rules-jump .btn{padding:9px 12px;min-height:42px;font-size:13px}
.rules-jump p{min-height:1.5em;color:var(--tx2);font-size:12px;margin:6px 0 0}
.rules-document{min-width:0;font-size:16px;line-height:1.8}
.rules-document h2,.rules-document h3,.rule-clause{scroll-margin-top:110px}
.rules-document h2{display:flex;gap:12px;font-size:25px;line-height:1.35;margin:48px 0 20px;padding-top:24px;border-top:1px solid var(--bd)}
.rules-document h2:first-child{margin-top:0;padding-top:0;border:0}
.rules-document h3{display:flex;gap:10px;font-size:19px;line-height:1.5;margin:32px 0 14px}
.rule-clause{display:grid;grid-template-columns:76px minmax(0,1fr);gap:12px;padding:12px 10px;margin:0 -10px;border-radius:8px}
.rule-clause+.rule-clause{border-top:1px solid #ffffff08}
.rule-clause p{margin:0;overflow-wrap:anywhere}
.rule-number{color:#e7a99e;font-variant-numeric:tabular-nums;flex-shrink:0;text-decoration:none;font-weight:600}
.rule-clause>.rule-number{padding-top:1px;font-size:13px;line-height:2.1}
.rule-number:hover{text-decoration:underline;color:#ffd6c7}
.rule-clause:target,.rules-document h2:target,.rules-document h3:target{background:#b8413926;outline:1px solid #dc776b66;border-radius:8px}
.rules-bullets{margin:4px 0 18px 88px;padding-left:20px}
.rules-bullets li+li{margin-top:8px}
.rules-figure{margin:18px 0 28px 88px}
.rules-figure img{display:block;max-width:100%;height:auto;border-radius:8px;background:white}
.rules-back-top{display:block;width:fit-content;margin:32px 0 0 auto;font-size:14px}
@media(max-width:850px){.rules-layout{grid-template-columns:minmax(0,1fr);gap:28px}.rules-sidebar{position:static;max-height:none;overflow:visible}.rules-contents{padding:16px 18px}.rules-jump{max-width:380px}.rules-header{margin-bottom:24px}.rules-toc-list{columns:2;column-gap:24px}.rules-toc-list>li{break-inside:avoid}}
@media(max-width:520px){.rules-page{margin-top:10px}.rules-toc-list{columns:1}.rules-document{font-size:15px;line-height:1.75}.rules-document h2{font-size:22px}.rules-document h3{font-size:18px}.rule-clause{grid-template-columns:minmax(0,1fr);gap:4px;padding:14px 8px;margin:0 -8px}.rule-clause>.rule-number{width:fit-content;line-height:1.5}.rules-bullets{margin-left:0}.rules-figure{margin-left:0}.rules-back{margin-bottom:20px}}
@media print{.rules-sidebar,.rules-back,.rules-back-top{display:none}.rules-layout{display:block}.rules-document{font-size:11pt;color:#000}.rules-page .rule-number{color:#333}.rules-document h2,.rules-document h3{break-after:avoid}.rules-figure{break-inside:avoid}}
