.rule-scene{position:relative;isolation:isolate;min-height:205px;border-radius:20px;overflow:hidden;margin:0 0 22px;color:#fff;background:#201628;border:1px solid #b983e82a}.rule-scene[hidden]{display:none}.rule-scene>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 42%;z-index:-2;transition:transform 1s}.rule-scene:hover>img{transform:scale(1.035)}.rule-scene-shade{position:absolute;inset:0;background:linear-gradient(90deg,#140e25ed,#1d14288a 60%,#1c142530),linear-gradient(0deg,#160f28a0,transparent);z-index:-1}.rule-scene-copy{padding:30px 34px;max-width:620px}.rule-scene-copy .eyebrow{font-size:8px;color:#d4b6ef}.rule-scene-copy h3{font-family:'Barlow Condensed',sans-serif;font-size:38px;line-height:1.05;text-transform:uppercase;margin:18px 0 13px;max-width:420px}.rule-scene-copy p{font-size:13px;color:#ded2eb;line-height:1.6;max-width:340px}.scene-mark{position:absolute;right:22px;top:22px;font-size:9px;font-weight:800;letter-spacing:3px;color:#e6d7f5b3}#rules-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.rule-item{margin:0;position:relative;background:linear-gradient(130deg,#a16be50a,transparent 75%),var(--rule-card);border-radius:16px;transition:transform .25s,border-color .25s,box-shadow .25s}.rule-item:before{content:'';position:absolute;top:18px;bottom:18px;left:0;width:2px;background:linear-gradient(#b98bed,#e98eb9);opacity:0;transition:opacity .25s}.rule-item:hover{transform:translateY(-3px);box-shadow:0 10px 26px #07030e25}.rule-item:hover:before,.rule-item[open]:before{opacity:1}.rule-item summary{position:relative;display:grid;grid-template-columns:39px minmax(0,1fr) 26px;column-gap:13px;row-gap:5px;padding:21px;min-height:112px;align-content:center}.rule-card-icon{grid-row:1/3;display:grid;place-items:center;width:39px;height:43px;color:#b88ce3;background:#a66ce317;border:1px solid #ab78dc22;border-radius:12px;transition:transform .3s,background .3s}.rule-card-icon svg{width:20px;height:20px}.rule-item:hover .rule-card-icon{transform:rotate(-6deg);background:#ad76e72e}.rule-number{grid-column:2;font-size:10px;letter-spacing:1px;min-width:0;color:#aa89c7}.rule-item h3{grid-column:2;grid-row:2;font-size:14px;line-height:1.5;font-weight:600;overflow-wrap:anywhere}.rule-plus{grid-column:3;grid-row:1/3;display:grid;place-items:center;width:25px;height:25px;border:1px solid var(--rule-line);border-radius:50%;font-size:17px}.rule-item[open]{grid-column:1/-1;background:linear-gradient(120deg,#a264eb13,transparent 80%),var(--rule-card)}.rule-item[open] summary{min-height:98px}.rule-body{padding:0 30px 27px 73px}.rule-body>p{white-space:pre-line}.rule-body small{font-size:8px}.more-rules{display:flex;align-items:center;justify-content:center;width:100%;margin-top:19px;padding:17px;border:1px solid #a36dd437;border-radius:13px;background:#a06bd010;color:var(--rule-text);font-size:12px;font-weight:600;transition:background .2s,transform .2s}.more-rules:hover{background:#a06bd025;transform:translateY(-2px)}.more-rules[hidden]{display:none}.rules-page[data-theme=day] .rule-card-icon{color:#8650b1}.rules-page[data-theme=day] .rule-number{color:#805ca0}.rules-content-head{margin-bottom:20px}.rules-content-head h2{font-size:34px}@media(max-width:1050px){.rule-item summary{padding:17px;column-gap:10px}.rule-item h3{font-size:13px}.rule-scene-copy{padding:27px}}@media(max-width:600px){#rules-list{grid-template-columns:minmax(0,1fr);gap:10px}.rule-item summary{min-height:91px;padding:17px 18px}.rule-item h3{font-size:14px}.rule-scene{min-height:200px}.rule-scene-copy{padding:25px}.rule-scene-copy h3{font-size:32px;max-width:240px}.rule-scene-copy p{font-size:12px;max-width:230px}.scene-mark{display:none}.rule-body{padding-left:25px}.rules-content-head h2{font-size:29px}}
/* Expanded cards retain their left/right slot; headings keep identical geometry. */
#rules-list{align-items:start}.rule-item[open]{grid-column:auto}.rule-item[open] summary{min-height:112px}.rule-item[open]:hover{transform:none}.rule-body{padding:0 22px 25px;line-height:1.8}.rule-body small{overflow-wrap:anywhere}@media(max-width:600px){.rule-item[open] summary{min-height:91px}}
/* Illustrated introductions for the two rulebooks. */
.rules-introduction{background:#21192e;color:#f6f0fc}.rules-introduction:before{inset:0;width:100%;height:100%;right:0;top:0;background:url('assets/rules-city-server.jpg') center 48%/cover;opacity:1;z-index:-2;transition:background-image .4s}.rules-introduction[data-rule-type=faction]:before{background-image:url('assets/rules-city-faction.jpg');background-position:center 45%}.rules-introduction:after{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,#171123ed 0%,#171123cc 50%,#17112391),linear-gradient(0deg,#171123fa 0%,#17112377 65%,#17112344)}.rules-introduction>p:not(.eyebrow){color:#d3c9df}.rules-introduction .intro-values>div{background:#20182bd9;border-color:#c29ce233;backdrop-filter:blur(8px)}.rules-introduction .intro-values>div.age-value{background:linear-gradient(140deg,#653c8cdd,#33203fdd);border-color:#ba8ae455}.rules-introduction .intro-values p,.rules-introduction .intro-signoff p{color:#cfc3dc}.rules-introduction .intro-values p strong,.rules-introduction .intro-signoff strong{color:#f7efff}.rules-introduction .intro-signoff{border-color:#ffffff20}.rules-page[data-theme=day] .rules-introduction{color:#fff}.rules-page[data-theme=day] .rules-introduction:after{background:linear-gradient(90deg,#241c36e8,#241c36aa 65%,#241c3666),linear-gradient(0deg,#241c36ef,transparent)}.rules-page[data-theme=day] .rules-introduction .age-badge{color:#e0c3ff;background:#382344cc}.rules-introduction .welcome-heading .eyebrow{color:#d8b4f5}.rules-introduction .value-icon,.rules-introduction .welcome-emblem{color:#d0a8f4;background:#b682e52b}.rules-introduction .intro-values span{color:#d0a8ee}


/* Los Santos atmosphere: restrained street grid, palm shadows and violet light. */
.rules-page main{position:relative;isolation:isolate;background-image:radial-gradient(ellipse at 0% 58%,#8651bd18,transparent 40%),radial-gradient(ellipse at 100% 95%,#a657ad14,transparent 35%),url('assets/district-map.svg');background-size:auto,auto,1250px 835px;background-position:center,center,center 350px}
.rules-page main:before,.rules-page main:after{content:'';position:absolute;pointer-events:none;z-index:-1;background:url('assets/rules-palm.svg') center/contain no-repeat;width:460px;height:700px;opacity:.13;}
.rules-page main:before{left:-255px;top:420px;transform:rotate(19deg)}
.rules-page main:after{right:-250px;bottom:0;transform:rotate(-24deg) scaleX(-1);opacity:.1}
.rules-page main{overflow:clip}
.rules-workspace{position:relative;z-index:1}
.rules-page[data-theme=day] main{background-image:radial-gradient(ellipse at 0% 58%,#a46bdd14,transparent 40%),radial-gradient(ellipse at 100% 95%,#cd8abb12,transparent 35%),url('assets/district-map.svg')}
.rules-page[data-theme=day] main:before{opacity:.16}.rules-page[data-theme=day] main:after{opacity:.13}
.rules-page .rules-sidebar{border-top:1px solid #ae80dc25;padding-top:20px}.rules-page .rules-sidebar>.eyebrow:before{content:'';display:inline-block;width:18px;height:2px;background:#b784e3;margin-right:9px;vertical-align:middle}
@media(max-width:800px){.rules-page main:before{left:-290px;opacity:.09}.rules-page main:after{right:-300px;opacity:.08}.rules-page main{background-size:auto,auto,950px 700px}.rules-page .rules-sidebar{padding-top:0;border-top:0}}
/* Natural palm cutout, tinted to match the site. */
.rules-page main:before,.rules-page main:after{background:#a38bbd;mask:url('assets/palm-natural.png') center/contain no-repeat;-webkit-mask:url('assets/palm-natural.png') center/contain no-repeat;width:520px;height:780px;}
.rules-page main:before{left:-260px;transform:rotate(12deg);opacity:.16}
.rules-page main:after{right:-260px;transform:rotate(-12deg) scaleX(-1);opacity:.13}
.rules-page[data-theme=day] main:before{opacity:.23}.rules-page[data-theme=day] main:after{opacity:.19}
@media(max-width:800px){.rules-page main:before{left:-360px}.rules-page main:after{right:-360px}}
/* Readable rules and proportionate, reviewable sanction proposals. */
.rule-points{list-style:none;margin:0;padding:0;display:grid;gap:13px}.rule-points li{position:relative;padding-left:19px;font-size:14px;line-height:1.75}.rule-points li:before{content:'';position:absolute;left:0;top:.72em;width:5px;height:5px;border-radius:50%;background:#bb89ed;box-shadow:0 0 0 4px #b783e80c}.rule-pending{margin-top:19px;padding:13px 15px;background:#aa85d30c;border-left:2px solid #a586c555;border-radius:0 9px 9px 0}.rule-pending strong{font-size:10px;letter-spacing:.7px;text-transform:uppercase;color:var(--rule-text)}.rule-pending p{font-size:12px;line-height:1.6;margin:7px 0 0}.rule-penalty{--penalty:#c5a1ed;margin-top:24px;border:1px solid color-mix(in srgb,var(--penalty) 25%,transparent);background:color-mix(in srgb,var(--penalty) 6%,transparent);border-radius:13px;padding:15px}.rule-penalty[data-level=warning]{--penalty:#edc182}.rule-penalty[data-level=serious]{--penalty:#f2a478}.rule-penalty[data-level=severe],.rule-penalty[data-level=critical]{--penalty:#ef8da8}.rule-penalty[data-level=info]{--penalty:#a3aec4}.penalty-heading{display:flex;align-items:center;gap:8px;flex-wrap:wrap;color:var(--penalty)}.penalty-heading strong{font-size:12px;line-height:1.4}.penalty-icon{display:flex;flex:0 0 19px}.penalty-icon svg{width:19px;height:19px}.penalty-draft{margin-left:auto;font-size:7px;letter-spacing:1px;padding:3px 5px;border:1px solid color-mix(in srgb,var(--penalty) 30%,transparent);border-radius:4px}.rule-penalty dl{display:grid;grid-template-columns:1fr;gap:10px;margin:15px 0;padding:12px 0;border-top:1px solid color-mix(in srgb,var(--penalty) 16%,transparent);border-bottom:1px solid color-mix(in srgb,var(--penalty) 16%,transparent)}.rule-penalty dl>div{display:flex;align-items:baseline;gap:12px;justify-content:space-between}.rule-penalty dt{font-size:10px;flex:0 0 100px}.rule-penalty dd{margin:0;text-align:right;font-size:12px;font-weight:600;color:var(--rule-text);line-height:1.5}.rule-penalty>p{font-size:11px;line-height:1.65;margin:0}.rule-body>small{margin-top:18px;opacity:.65}.sanction-guide{margin:-8px 0 27px;border:1px solid var(--rule-line);border-radius:13px;background:var(--rule-card)}.sanction-guide summary{display:flex;gap:13px;align-items:center;padding:14px 18px;list-style:none;font-size:12px;color:var(--rule-text);cursor:pointer}.sanction-guide summary::-webkit-details-marker{display:none}.sanction-guide summary>span{font-size:8px;letter-spacing:1.3px;color:#b88ae0}.sanction-guide summary>b{margin-left:auto;color:#b88ae0;font-size:19px;transition:transform .2s}.sanction-guide[open] summary>b{transform:rotate(45deg)}.sanction-guide>div{padding:0 18px 18px;font-size:13px;color:var(--rule-muted);line-height:1.8;max-width:930px}.sanction-guide p{margin:8px 0}.sanction-guide ul{padding-left:20px;margin:12px 0}.sanction-guide li::marker{color:#ad80d9}.rules-page[data-theme=day] .rule-penalty{--penalty:#8553b1}.rules-page[data-theme=day] .rule-penalty[data-level=warning]{--penalty:#956019}.rules-page[data-theme=day] .rule-penalty[data-level=serious]{--penalty:#ad542b}.rules-page[data-theme=day] .rule-penalty[data-level=severe],.rules-page[data-theme=day] .rule-penalty[data-level=critical]{--penalty:#b44264}.rules-page[data-theme=day] .rule-penalty[data-level=info]{--penalty:#596b87}@media(max-width:600px){.rule-points li{font-size:13px}.penalty-draft{margin-left:27px}.rule-penalty dl>div{flex-direction:column;gap:2px}.rule-penalty dt{flex:auto}.rule-penalty dd{text-align:left}.sanction-guide summary{gap:9px;padding:13px}.sanction-guide summary>span{font-size:7px}}
/* City-Code cards: individual accents, tactile surfaces and voluntary reading progress. */
.rule-item{--card-accent:#bf91ed;background:linear-gradient(115deg,color-mix(in srgb,var(--card-accent) 10%,transparent),transparent 68%),var(--rule-card);border-radius:19px;box-shadow:0 5px 17px #07030e0b}.rule-item[data-accent=heart]{--card-accent:#e395ba}.rule-item[data-accent=car]{--card-accent:#9aa9ef}.rule-item[data-accent=people]{--card-accent:#c4a1f0}.rule-item[data-accent=eye]{--card-accent:#88c5d2}.rule-item[data-accent=chat]{--card-accent:#e3b594}.rule-item:after{content:'';position:absolute;pointer-events:none;width:130px;height:130px;right:-65px;top:-65px;border:1px solid color-mix(in srgb,var(--card-accent) 16%,transparent);border-radius:50%;box-shadow:0 0 0 18px color-mix(in srgb,var(--card-accent) 3%,transparent)}.rule-item:before{top:27px;bottom:auto;height:34px;opacity:.55;background:var(--card-accent);width:3px;border-radius:0 4px 4px 0}.rule-item:hover{border-color:color-mix(in srgb,var(--card-accent) 50%,transparent);box-shadow:0 12px 32px #09041425}.rule-item summary{grid-template-columns:49px minmax(0,1fr) 28px;gap:5px 15px;padding:23px;min-height:135px}.rule-card-icon{width:49px;height:55px;grid-row:1/4;border:1px solid color-mix(in srgb,var(--card-accent) 25%,transparent);background:linear-gradient(145deg,color-mix(in srgb,var(--card-accent) 18%,transparent),color-mix(in srgb,var(--card-accent) 4%,transparent));color:var(--card-accent);border-radius:15px;box-shadow:inset 0 1px 0 #ffffff0b}.rule-card-icon svg{width:25px;height:25px}.rule-item h3{font-family:Barlow,Arial,sans-serif;font-size:14px;line-height:1.45;letter-spacing:.05px}.rule-number{color:var(--card-accent);font-size:9px;opacity:.8}.rule-teaser{grid-column:2;grid-row:3;font-size:9px;letter-spacing:.3px;color:var(--rule-muted);opacity:.75;margin-top:4px}.rule-plus{grid-row:1/4;width:28px;height:28px;color:var(--card-accent);background:color-mix(in srgb,var(--card-accent) 6%,transparent)}.rule-item:hover .rule-plus{background:color-mix(in srgb,var(--card-accent) 20%,transparent)}.rule-item[open] summary{min-height:135px}.rule-item[open]{background:linear-gradient(135deg,color-mix(in srgb,var(--card-accent) 8%,transparent),transparent 65%),var(--rule-card)}.rule-item[open] .rule-teaser{opacity:.5}.rule-item.is-read{border-color:#9ccfbb44}.rule-item.is-read .rule-teaser{color:#a9d6be;opacity:1}.mark-read{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;margin-top:20px;padding:13px 12px;border-radius:10px;border:1px solid #b78ad94d;background:#a570d710;color:var(--rule-text);font-size:12px;font-weight:600;transition:background .2s,transform .2s}.mark-read:hover{background:#ad76dc28;transform:translateY(-2px)}.mark-read[aria-pressed=true]{border-color:#9ccfbb4d;background:#9ccfbb10;color:#a9d6be}.reading-progress{display:flex;align-items:center;gap:13px;border:1px solid var(--rule-line);border-radius:13px;padding:15px 18px;margin:0 0 17px;background:linear-gradient(100deg,#a56ce410,transparent),var(--rule-card)}.reading-progress[hidden]{display:none}.reading-symbol{display:grid;place-items:center;width:32px;height:32px;border-radius:10px;border:1px solid #ac7bdb33;color:#c4a0e9;font-size:15px}.reading-copy{display:grid;gap:4px}.reading-copy strong{font-size:12px;color:var(--rule-text)}.reading-copy span{font-size:9px;color:var(--rule-muted)}.reading-meter{height:4px;min-width:65px;flex:1;background:#a87cd322;border-radius:4px;margin-left:12px;overflow:hidden}.reading-meter i{display:block;height:100%;width:0;background:linear-gradient(90deg,#a774df,#e09fc9);border-radius:4px;transition:width .45s}.reading-reset{font-size:9px;color:var(--rule-muted);background:transparent;text-decoration:underline;text-underline-offset:3px;padding:4px}.reading-reset[hidden]{display:none}.is-complete .reading-symbol{color:#a9d6be;border-color:#a9d6be55}.rules-page[data-theme=day] .rule-card-icon{color:#8658ac}.rules-page[data-theme=day] .rule-item.is-read .rule-teaser,.rules-page[data-theme=day] .mark-read[aria-pressed=true]{color:#34745d}.rules-page[data-theme=day] .rule-number{color:#8556a9}.rules-page[data-theme=day] .reading-symbol{color:#8556a9}@media(max-width:600px){.rule-item summary,.rule-item[open] summary{min-height:124px;padding:19px;grid-template-columns:42px minmax(0,1fr) 25px;column-gap:12px}.rule-card-icon{width:42px;height:49px}.rule-card-icon svg{width:22px;height:22px}.rule-item h3{font-size:13px}.reading-progress{flex-wrap:wrap;padding:13px;gap:10px}.reading-meter{flex-basis:100%;margin-left:42px}.reading-reset{margin-left:42px}.rule-teaser{font-size:9px}}@media(prefers-reduced-motion:reduce){.rule-item,.rule-card-icon,.rule-plus,.reading-meter i,.mark-read{transition:none!important;animation:none!important}.rule-item:hover,.rule-item:hover .rule-card-icon,.mark-read:hover{transform:none}}
/* Search focus is shown on the surrounding underline, not a rectangular input outline. */
.rule-search input:focus,.rule-search input:focus-visible{outline:none;box-shadow:none}
.rule-search:focus-within{border-bottom-color:#bd83f4;box-shadow:0 1px 0 #bd83f4}
