/*
 * Rules hub (/rules/) — the approved landing design's rules section as its own
 * page: section head, category rows (dark label + count + hairline), white
 * rule cards with a pastel icon tile per category, animated aurora behind.
 * Loaded only by rules/index.html, after styles.css + shared.css.
 */
.rules-hub{--rh-ink:#10131C;--rh-ink-2:#5A6272;--rh-ink-3:#8A91A0;--rh-hair:#E5E8EE;--rh-hair-2:#D2D7E0;
  --rh-accent:#2962FF;--rh-accent-ink:#1F4FD6;--rh-accent-soft:#EAF0FF;--rh-accent-2:#7EA2FF;--rh-dark:#0E0E13;
  --rh-sh-card:0 1px 2px rgb(16 24 64 / .04),0 2px 10px rgb(16 24 64 / .05);
  --rh-sh-hover:0 2px 4px rgb(16 24 64 / .06),0 8px 24px rgb(16 24 64 / .08);}

/* ---- animated aurora (same as the home page) ---- */
  .aurora{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden;
    background:linear-gradient(180deg,#ECF1FF 0%, rgb(244 245 248 / 0) 55%);}
  .aurora i{position:absolute;display:block;border-radius:50%;will-change:transform;}
  .aurora i::after{content:'';position:absolute;inset:0;border-radius:50%;opacity:0;will-change:opacity;}
  .aurora .b1{width:62vmax;height:46vmax;left:42vw;top:-12vh;
    background:radial-gradient(closest-side, rgb(41 98 255 / .30), rgb(41 98 255 / 0) 72%);animation:aurA 14s ease-in-out infinite alternate;}
  .aurora .b1::after{background:radial-gradient(closest-side, rgb(124 58 237 / .26), rgb(124 58 237 / 0) 72%);animation:hue 9s ease-in-out infinite alternate;}
  .aurora .b2{width:50vmax;height:38vmax;left:68vw;top:-22vh;
    background:radial-gradient(closest-side, rgb(124 58 237 / .22), rgb(124 58 237 / 0) 72%);animation:aurB 18s ease-in-out infinite alternate;}
  .aurora .b2::after{background:radial-gradient(closest-side, rgb(41 98 255 / .26), rgb(41 98 255 / 0) 72%);animation:hue 11s ease-in-out 2s infinite alternate;}
  .aurora .b3{width:52vmax;height:40vmax;left:18vw;top:38vh;
    background:radial-gradient(closest-side, rgb(2 132 199 / .20), rgb(2 132 199 / 0) 72%);animation:aurC 16s ease-in-out infinite alternate;}
  .aurora .b3::after{background:radial-gradient(closest-side, rgb(41 98 255 / .22), rgb(41 98 255 / 0) 72%);animation:hue 8s ease-in-out 1s infinite alternate;}
  .aurora .b4{width:46vmax;height:36vmax;left:-16vw;top:-6vh;
    background:radial-gradient(closest-side, rgb(41 98 255 / .16), rgb(41 98 255 / 0) 72%);animation:aurD 20s ease-in-out infinite alternate;}
  .aurora .b4::after{background:radial-gradient(closest-side, rgb(2 132 199 / .18), rgb(2 132 199 / 0) 72%);animation:hue 12s ease-in-out 3s infinite alternate;}
  .aurora .b5{width:56vmax;height:42vmax;left:62vw;top:62vh;
    background:radial-gradient(closest-side, rgb(41 98 255 / .20), rgb(41 98 255 / 0) 72%);animation:aurE 17s ease-in-out infinite alternate;}
  .aurora .b5::after{background:radial-gradient(closest-side, rgb(167 139 250 / .24), rgb(167 139 250 / 0) 72%);animation:hue 10s ease-in-out 4s infinite alternate;}
  @keyframes aurA{0%{transform:translate3d(0,0,0) scale(1)}33%{transform:translate3d(-30vw,14vh,0) scale(1.12)}66%{transform:translate3d(-12vw,34vh,0) scale(.92)}100%{transform:translate3d(12vw,20vh,0) scale(1.06)}}
  @keyframes aurB{0%{transform:translate3d(0,0,0) scale(1)}33%{transform:translate3d(-26vw,24vh,0) scale(1.15)}66%{transform:translate3d(-44vw,8vh,0) scale(1)}100%{transform:translate3d(-18vw,40vh,0) scale(1.1)}}
  @keyframes aurC{0%{transform:translate3d(0,0,0) scale(1)}33%{transform:translate3d(30vw,-18vh,0) scale(1.1)}66%{transform:translate3d(50vw,6vh,0) scale(.95)}100%{transform:translate3d(14vw,-30vh,0) scale(1.12)}}
  @keyframes aurD{0%{transform:translate3d(0,0,0) scale(1)}33%{transform:translate3d(22vw,26vh,0) scale(1.08)}66%{transform:translate3d(40vw,52vh,0) scale(1.14)}100%{transform:translate3d(10vw,64vh,0) scale(.96)}}
  @keyframes aurE{0%{transform:translate3d(0,0,0) scale(1)}33%{transform:translate3d(-34vw,-10vh,0) scale(1.12)}66%{transform:translate3d(-58vw,-28vh,0) scale(.94)}100%{transform:translate3d(-20vw,-46vh,0) scale(1.08)}}
  @keyframes hue{0%{opacity:0}100%{opacity:1}}

.rules-hub .navbar,.rules-hub .footer{position:relative;z-index:10;}
.rules-hub .navbar{position:fixed;}

/* ---- page ---- */
.rh{position:relative;z-index:1;padding:128px 0 104px;}
.rh .container{max-width:1160px;padding:0 40px;margin:0 auto;}
.rh .breadcrumb{margin-bottom:28px;}
.rh-head{max-width:720px;margin:0 auto 64px;text-align:center;}
.rh-eyebrow{display:inline-flex;align-items:center;gap:8px;font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--rh-accent-ink);background:var(--rh-accent-soft);border:1px solid rgb(41 98 255 / .15);padding:5px 11px;border-radius:999px;margin-bottom:16px;}
.rh-eyebrow .dot{width:5px;height:5px;border-radius:50%;background:var(--rh-accent);}
.rh-head h1{font-family:var(--font);font-weight:800;font-size:clamp(32px,4.2vw,52px);line-height:1.06;letter-spacing:-.035em;color:var(--rh-ink);margin:0;}
.rh-head h1 .i{color:var(--rh-accent);}
.rh-head p{font-size:16.5px;line-height:1.6;color:var(--rh-ink-2);margin:18px auto 0;max-width:580px;letter-spacing:-.005em;}

/* ---- category rows ---- */
.rcat{margin-bottom:44px;}
.rcat:last-of-type{margin-bottom:0;}
.rcat-h{display:flex;align-items:center;gap:12px;margin-bottom:8px;}
.rcat-h .cl{color:var(--rh-ink);font-weight:700;font-size:19px;letter-spacing:-.015em;margin:0;font-family:var(--font);line-height:1.3;}
.rcat-h .ln{flex:1;height:1px;background:var(--rh-hair);}
.rcat-h .ct{font-family:var(--font);font-size:13px;color:var(--rh-ink-3);}
.rcat-desc{font-size:13.5px;color:var(--rh-ink-2);margin:0 0 16px;letter-spacing:-.005em;}
.rgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;}

/* ---- rule cards ---- */
.rcard{display:flex;flex-direction:column;background:#fff;border:1px solid rgb(229 232 238 / .9);border-radius:14px;padding:18px 20px;
  box-shadow:var(--rh-sh-card);text-decoration:none;color:inherit;transition:box-shadow .2s,transform .2s,border-color .2s;}
.rcard:hover{box-shadow:var(--rh-sh-hover);transform:translateY(-2px);border-color:var(--rh-hair-2);}
.rcard:focus-visible{outline:none;box-shadow:0 0 0 3px rgb(41 98 255 / .3);}
.rcard .top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px;}
.rcard .ic{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex:0 0 auto;
  background:#EAF0FF;color:#2962FF;box-shadow:inset 0 0 0 1px rgb(41 98 255 / .14);}
.rcard .ic svg{width:18px;height:18px;}
.rcard .badge{font-family:var(--mono);font-size:10px;font-weight:600;letter-spacing:.04em;color:var(--rh-ink-2);background:#F6F7FA;border:1px solid var(--rh-hair);padding:3px 8px;border-radius:6px;white-space:nowrap;}
.rcard h3{font-size:15px;font-weight:600;letter-spacing:-.015em;margin:0 0 6px;color:var(--rh-ink);}
.rcard p{font-size:13px;line-height:1.5;color:var(--rh-ink-2);margin:0;}
.rcard .more{margin-top:auto;padding-top:14px;font-size:12.5px;font-weight:600;color:var(--rh-accent-ink);display:inline-flex;align-items:center;gap:6px;}
.rcard .more span{transition:transform .15s;}
.rcard:hover .more span{transform:translateX(3px);}
/* one pastel tone per category (dashboard IconTile tones) */
.rcat.t-rose .ic{background:#FDEBEE;color:#E0364A;box-shadow:inset 0 0 0 1px rgb(224 54 74 / .14);}
.rcat.t-violet .ic{background:#F1EBFE;color:#7C3AED;box-shadow:inset 0 0 0 1px rgb(124 58 237 / .14);}
.rcat.t-teal .ic{background:#E6F7F0;color:#13925D;box-shadow:inset 0 0 0 1px rgb(19 146 93 / .14);}
.rcat.t-amber .ic{background:#FDF4E0;color:#C27C06;box-shadow:inset 0 0 0 1px rgb(194 124 6 / .16);}

/* ---- bottom CTA ---- */
.rh-cta{margin:72px auto 0;max-width:760px;text-align:center;background:#fff;border:1px solid rgb(229 232 238 / .9);border-radius:14px;
  padding:40px 32px;box-shadow:var(--rh-sh-card),0 30px 60px -36px rgb(41 98 255 / .35);}
.rh-cta h2{font-weight:800;font-size:clamp(24px,3vw,32px);letter-spacing:-.03em;color:var(--rh-ink);margin:0;}
.rh-cta p{font-size:15px;color:var(--rh-ink-2);margin:12px auto 24px;max-width:480px;}

@media (max-width:760px){
  .rh{padding:104px 0 72px;}
  .rh .container{padding:0 20px;}
  .rgrid{grid-template-columns:1fr;}
  .rh-head{margin-bottom:44px;}
}
