html{scroll-padding-top:calc(var(--page-header-height,80px) + 24px)}
.page-hero{padding:64px 0 38px;display:flex;align-items:flex-end;justify-content:space-between;gap:30px}
.page-hero h1{font-size:clamp(44px,6vw,76px);line-height:1.15;margin:14px 0 20px}
.page-hero p{font-size:17px;line-height:1.8;color:var(--muted);margin:0;max-width:650px}
.page-count{padding:18px 0 18px 28px;border-left:1px solid #8661aa70;flex-shrink:0}
.page-count strong{display:block;font:500 44px/1 'Protocol Head',Arial,sans-serif;color:#d8bef6}
.page-count span{display:block;font:12px/1.5 monospace;margin-top:7px;color:var(--muted)}
.factions-page{padding-bottom:66px}
.faction-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:22px;padding:0 0 40px}
.faction-card{grid-column:span 2;position:relative;text-align:center;border:1px solid #80619866;border-radius:7px;background:linear-gradient(150deg,#191521ed,#080d15f2);padding:18px 27px 27px;box-shadow:0 10px 35px #0003;transition:border-color .2s,transform .2s;overflow:hidden}
.faction-card::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 50% 30%,#9e65d018,transparent 66%);pointer-events:none}
.faction-card:hover{border-color:#bd91ff9e;transform:translateY(-3px)}
.faction-card:nth-last-child(2){grid-column:2 / span 2}
.faction-card:last-child{grid-column:4 / span 2}
.faction-meta{display:flex;align-items:center;justify-content:space-between;gap:10px;text-transform:uppercase;font:10px/1.5 monospace;letter-spacing:.08em;color:#9b84b1;border-bottom:1px solid #8661aa26;padding-bottom:12px;margin-bottom:18px}
.faction-emblem{display:block;width:126px;height:140px;margin:0 auto 18px;filter:drop-shadow(0 5px 15px #0006)}
.faction-card h2{font-size:28px;line-height:1.3;margin:0 0 13px;color:#ede4f7}
.faction-card p{color:#c6bdcf;font-size:14px;line-height:1.75;max-width:270px;margin:0 auto}
.faction-end{border:1px solid #8661aa70;border-left:3px solid #b481e2;border-radius:5px;background:linear-gradient(110deg,#291a3a99,#0b0e18ed);padding:29px;display:flex;align-items:center;justify-content:space-between;gap:25px}
.faction-end h2{font-size:27px;line-height:1.3;margin:10px 0}
.faction-end p{color:var(--muted);font-size:14px;max-width:590px;margin:0}
.page-actions{display:flex;align-items:stretch;flex-direction:column;gap:10px;flex-shrink:0}
.rules-page{padding-bottom:65px}
.rules-notice{display:flex;gap:18px;align-items:center;padding:18px 24px;border:1px solid #8661aa70;border-left:3px solid #b481e2;background:#110e1adb;margin-bottom:25px;border-radius:5px}
.rules-notice>span{font:32px 'Protocol Head',sans-serif;color:#c7a5eb}
.rules-notice p{font-size:14px;line-height:1.75;margin:0;color:#d0c5dd}
.rules-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:27px}
.rules-count{font-size:12px;color:var(--muted)}
.rules-layout{display:grid;grid-template-columns:245px minmax(0,1fr);gap:26px;align-items:start}
.rules-layout.is-filtering{grid-template-columns:1fr}
.rules-directory{position:sticky;top:calc(var(--page-header-height,80px) + 20px);max-height:calc(100dvh - var(--page-header-height,80px) - 40px);overflow:auto;background:linear-gradient(145deg,#171621eb,#090c13f0);border:1px solid #8661aa70;border-radius:6px;padding:20px;scrollbar-width:thin;scrollbar-color:#7d6092 #11131b}
.rules-directory summary{font-size:20px;cursor:pointer;margin-bottom:13px}
.rules-directory nav{display:block}
.rules-directory a{display:flex;gap:11px;align-items:baseline;padding:9px 0;color:#c9bfd4;border-bottom:1px solid #8661aa26;font:13px/1.5 Arial,sans-serif!important;letter-spacing:0}
.rules-directory a:hover{color:#d9b5ff}
.rules-directory a span{min-width:21px;color:#aa87c4;font:11px monospace}
.rules-content{min-width:0}
.rule-chapter{background:linear-gradient(145deg,#10121eed,#080b13f0);padding:28px;margin-bottom:22px;border:1px solid #8661aa66;border-radius:6px}
.rule-chapter-head{display:flex;align-items:flex-start;gap:17px;margin-bottom:17px}
.rule-chapter-head>span{font:13px monospace;color:#ac87c8;padding-top:5px;min-width:29px}
.rule-chapter-head .label{font-size:10px;letter-spacing:.11em}
.rule-chapter-head h2{font-size:31px;line-height:1.25;margin:0}
.rule-chapter-intro{color:#a99cb8;font-size:14px;border-bottom:1px solid #8661aa35;padding-bottom:20px;margin:0 0 8px;line-height:1.8}
.rule-entry{display:grid;grid-template-columns:64px minmax(0,1fr);gap:16px;padding:18px 0;border-bottom:1px solid #8661aa24;scroll-margin-top:18px}
.rule-entry:last-child{border-bottom:0;padding-bottom:0}
.rule-entry p{margin:0;font-size:14px;line-height:1.9;color:#d8d0e3;overflow-wrap:anywhere}
.rule-number{font:11px/1.6 monospace;color:#b796d2;padding:5px 0 0 12px;word-break:normal;white-space:nowrap;text-align:right}
.rule-number:hover{color:#f0d7ff}
.rule-entry:target{background:#bd91ff0d;outline:1px solid #9f73c447;border-radius:3px}
.rule-local-heading{font-size:24px;color:#dec8f5;margin:29px 0 3px;padding-top:17px;border-top:1px solid #8661aa50}
.rule-glossary h2{font-size:31px;margin:8px 0 20px}
.rule-glossary dl{margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px}
.rule-glossary dl>div{border-top:1px solid #8661aa30;padding:14px 0}
.rule-glossary dt{color:#d7b5f7;font:17px/1.4 'Protocol Head',Arial,sans-serif;margin-bottom:5px}
.rule-glossary dd{font-size:13px;line-height:1.7;color:#c4b9cf;margin:0}
.rule-table-wrap{overflow:auto;margin-top:17px;border:1px solid #8661aa40;border-radius:4px}
.rule-table-wrap table{border-collapse:collapse;font:13px/1.7 Arial,sans-serif;width:100%;text-align:left}
.rule-table-wrap caption{text-align:left;font:14px 'Protocol Head',Arial,sans-serif;background:#bd91ff10;color:#d6b9ee;padding:12px 15px;letter-spacing:.02em}
.rule-table-wrap th,.rule-table-wrap td{padding:9px 15px;border-top:1px solid #8661aa25}
.rule-table-wrap th{color:#d6c3e7;font-weight:normal;background:#ffffff03}
.rule-table-wrap td:last-child{color:#cfa8f6;font-family:monospace}
.rule-zone-list{padding:20px 0 0}
.rule-zone-list h3{font-size:22px;color:#dbc6f0}
.rule-zone-list ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 20px;list-style:none;padding:0;font-size:13px;color:#c6b8d1}
.rule-zone-list li{border-left:2px solid #8f6bad;padding-left:11px}
@media(max-width:1000px){.faction-card{padding:17px 20px 24px}.rules-layout{grid-template-columns:210px minmax(0,1fr);gap:20px}.rule-chapter{padding:24px}.faction-end{align-items:flex-start;flex-direction:column}.page-actions{flex-direction:row;flex-wrap:wrap}}
@media(max-width:800px){.page-hero{padding-top:40px;align-items:flex-start}.page-count{padding-left:18px;margin-top:32px}.page-count strong{font-size:35px}.page-count span{font-size:10px}.page-hero p{font-size:15px}.faction-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.faction-card,.faction-card:nth-last-child(2),.faction-card:last-child{grid-column:auto}.faction-card:last-child{grid-column:1 / -1;max-width:calc(50% - 9px);width:100%;justify-self:center}.rules-layout{grid-template-columns:1fr}.rules-directory{position:static;max-height:none}.rules-directory nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:20px}.rules-toolbar{align-items:flex-start;flex-direction:column;gap:5px}.rules-toolbar .faq-search{width:100%;max-width:none}.rules-count{margin:0}.rule-chapter-head h2{font-size:28px}.rule-glossary dl{gap:0 20px}.rules-notice{padding:16px 19px}}
@media(max-width:520px){.page-hero{display:block;padding:33px 0 27px}.page-hero h1{font-size:43px}.page-count{display:flex;align-items:center;gap:12px;margin-top:20px;border-left:0;border-top:1px solid #8661aa45;padding:15px 0 0}.page-count strong{font-size:28px}.page-count span{font-size:11px;margin:0}.faction-grid{grid-template-columns:1fr;gap:17px;padding-bottom:28px}.faction-card,.faction-card:last-child{grid-column:auto;max-width:none;padding:17px 25px 27px}.faction-emblem{width:117px;height:130px}.faction-card h2{font-size:27px}.faction-card p{max-width:290px}.faction-end{padding:23px 20px}.faction-end h2{font-size:25px}.page-actions{width:100%;flex-direction:column}.rule-chapter{padding:20px 16px}.rule-entry{grid-template-columns:51px minmax(0,1fr);gap:12px}.rule-entry p{font-size:13px;line-height:1.85}.rule-number{font-size:10px}.rule-chapter-head{gap:9px}.rule-chapter-head h2{font-size:26px}.rule-chapter-head .label{font-size:9px}.rule-chapter-intro{font-size:13px}.rules-directory{padding:18px 16px}.rules-directory nav{column-gap:13px}.rules-directory a{font-size:12px!important;gap:7px}.rule-glossary dl{grid-template-columns:1fr}.rule-zone-list ul{grid-template-columns:1fr}.rule-table-wrap th,.rule-table-wrap td{padding:8px 10px}.rules-notice p{font-size:13px}.rules-page,.factions-page{padding-bottom:40px}}
@media(prefers-reduced-motion:reduce){.faction-card{transition:none}.faction-card:hover{transform:none}}
