/* ==========================================================================
   Life of Crime: black, steel, blood red and gold, done sharp.
   Square corners, flat panels, hairline rules, red corner brackets and
   segmented gauge bars. Pure CSS, no images.
   ========================================================================== */
:root{
  --void:#141414;        /* page */
  --panel:#222222;       /* frames */
  --plate:#2d2d2d;       /* content cards: close to the original's #333 */
  --raise:#383838;       /* hover rows */
  --rule:#3e3e3e;        /* hairlines */
  --steel:#5c5c5c;       /* frame edges */
  --blood:#e8160e;       /* action red */
  --blood-deep:#6e0704;
  --brass:#ffc61a;       /* labels, links */
  --bone:#ece8e2;        /* text */
  --ash:#8f8a84;         /* secondary text */
  --good:#4fc36b; --bad:var(--blood); --gold:var(--brass);
  --line:var(--rule); --text:var(--bone); --dim:var(--ash);
  --display:'Big Shoulders Display','Barlow Condensed','Arial Narrow',Impact,sans-serif;
  --body:Arial,Helvetica,sans-serif;          /* the original's face and sizes: 13px body */
  box-sizing:border-box;
  padding-top:env(safe-area-inset-top,0px); padding-bottom:env(safe-area-inset-bottom,0px);
}
html{scroll-padding-top:env(safe-area-inset-top,0px);}
*,*::before,*::after{box-sizing:border-box; border-radius:0;}
html,body{margin:0;}
body{
  min-height:100%; color:var(--bone); font:14px/1.4 var(--body); font-variant-numeric:tabular-nums;
  background:
    linear-gradient(180deg, rgba(140,10,6,.16), transparent 320px),
    repeating-linear-gradient(135deg, #1b1b1b 0 1px, var(--void) 1px 6px);
  background-attachment:fixed;
  padding:14px;
}
h1,h2,h3,h4{margin:0 0 8px;}
p{margin:8px 0;}
::selection{background:var(--blood); color:#fff;}
:focus-visible{outline:2px solid var(--brass); outline-offset:2px;}
.wrap{max-width:1280px; margin:0 auto;}

/* ---------- frames: hairline steel with red corner brackets ---------- */
.frame,header,main,.login .card{
  position:relative; background:var(--panel);
  border:1px solid #2a2a2a; border-top-color:var(--steel);
  box-shadow:0 12px 28px rgba(0,0,0,.6);
}
.frame::before,.frame::after,header::before,header::after,main::before,main::after,.login .card::before,.login .card::after{
  content:""; position:absolute; width:14px; height:14px; pointer-events:none;
}
.frame::before,header::before,main::before,.login .card::before{top:-1px; left:-1px; border-top:2px solid var(--blood); border-left:2px solid var(--blood);}
.frame::after,header::after,main::after,.login .card::after{bottom:-1px; right:-1px; border-bottom:2px solid var(--blood); border-right:2px solid var(--blood);}

/* ---------- header ---------- */
header{padding:14px 16px 0; margin:0 0 16px;
  background:
    radial-gradient(ellipse 40% 100% at 50% 40%, rgba(180,16,10,.22), transparent 70%),
    linear-gradient(180deg,#151515,#0a0a0a);}
.hd{display:grid; grid-template-columns:minmax(230px,1fr) minmax(300px,1.3fr) minmax(230px,1fr); gap:18px; align-items:center;}
.hd-id{display:flex; gap:12px; align-items:flex-start;}
.avatar{flex:none; width:76px; height:76px; display:grid; place-items:center;
  font:800 42px/1 var(--display); color:#fff; background:linear-gradient(135deg,#262626,#0c0c0c);
  border:1px solid #3a3a3a; border-bottom:2px solid var(--blood);}
.hd-who{min-width:0; flex:1;}
.hd-name{font:bold 14px/1.2 var(--body); color:#fff; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
.hd-lvl{font-size:14px; color:var(--bone); margin:1px 0 5px;}
.hd-lvl i{color:var(--bone);}
.hd-money{font-size:14px; margin-top:7px; line-height:1.55;}
.hd-links{font-size:14px;}
.hd-center{text-align:center; display:flex; flex-direction:column; align-items:center; gap:8px;}
.hd-tabs{display:flex; flex-wrap:wrap; justify-content:center; gap:0; border:1px solid #333;}
.tab{font:bold 14px var(--body); color:var(--brass); cursor:pointer; padding:5px 13px;
  background:#0d0d0d; border:0; border-right:1px solid #333;}
.tab:last-child{border-right:0;}
.tab:hover:not(:disabled){background:#1c1c1c; color:#ffe07a;}
.tab:disabled{color:#5a5a5a; cursor:default;}

/* the logo: condensed industrial type between two red diamonds */
.logo{display:flex; align-items:center; gap:18px; margin:2px 0 0;}
.logo-type{font:800 clamp(34px,4.4vw,54px)/.9 var(--display); letter-spacing:.05em; text-transform:uppercase; color:#fff;
  text-shadow:0 0 22px rgba(232,22,14,.45);}
.gem{width:20px; height:20px; transform:rotate(45deg); flex:none;
  background:linear-gradient(135deg,#ff5a4a,var(--blood) 45%,var(--blood-deep));
  outline:1px solid #6a6a6a; outline-offset:4px; box-shadow:0 0 16px rgba(232,22,14,.6);}
.hd-clock{font-size:14px; color:var(--ash); letter-spacing:.02em;}
.where{margin-left:8px; font-weight:700;}
.where.bad{color:var(--blood);}

.hd-bars{display:grid; gap:9px;}
.gauge{display:block; width:100%; text-align:left; background:none; border:0; padding:0; color:var(--bone); cursor:pointer; font:14px var(--body);}
.gauge-label{display:flex; justify-content:space-between;}
.gauge-label b{color:var(--brass); font-weight:bold;}
.gauge:hover .tube{outline:1px solid var(--blood-deep);}

/* segmented gauge */
.tube{position:relative; display:block; height:8px; margin-top:3px; background:#050505; border:1px solid #2a2a2a; overflow:hidden;}
.tube>span{display:block; height:100%; transition:width .45s cubic-bezier(.2,.8,.2,1);
  background:linear-gradient(90deg,#9c0c07,var(--blood)); box-shadow:0 0 10px rgba(232,22,14,.5);}
.tube::after{content:""; position:absolute; inset:0; pointer-events:none;
  background:repeating-linear-gradient(90deg, transparent 0 9px, rgba(0,0,0,.75) 9px 11px);}
.tube.xp{height:5px; max-width:190px;}
.tube.xp>span{background:linear-gradient(90deg,#8a6a10,var(--brass)); box-shadow:none;}
.tube.xp::after{display:none;}

/* ---------- strip under the header ---------- */
.strip{display:flex; align-items:center; gap:14px; margin:14px -16px 0; padding:7px 16px;
  background:#0b0b0b; border-top:1px solid #262626; flex-wrap:wrap;}
.stars{display:flex; gap:3px; font-size:15px; line-height:1;}
.stars i{font-style:normal; color:#2e2e2e;}
.stars i.on{color:var(--blood); text-shadow:0 0 8px rgba(232,22,14,.7);}
.readout{display:flex; gap:18px; flex-wrap:wrap; font-size:14px; flex:1; justify-content:center; color:var(--ash);}
.readout b{color:var(--bone); font-weight:bold;}
.shortcuts{display:flex; gap:4px;}
.ico{width:32px; height:32px; cursor:pointer; font-size:15px; color:#cfcfcf; background:#141414; border:1px solid #2e2e2e;}
.ico:hover{color:var(--brass); border-color:#5a4a10; background:#1b1b1b;}
.ico.red{color:var(--blood); font-weight:700;}
.drawer-btn{display:none;}

/* ---------- three columns ---------- */
.layout{display:grid; grid-template-columns:172px minmax(0,1fr) 172px; gap:14px; align-items:start;}
.side .frame{margin-bottom:16px; padding:6px;}
.plate{margin:-6px -6px 6px; padding:8px 6px 6px; text-align:center; font:800 18px/1 var(--display); letter-spacing:.06em; text-transform:uppercase; color:#fff;
  background:#0a0a0a; border-bottom:1px solid #2a2a2a;}

.menu-list{display:flex; flex-direction:column;}
.menu-list button,.rail-item{
  position:relative; display:block; width:100%; cursor:pointer; color:#fff; font:14px var(--body); text-align:center;
  padding:3px 8px 4px; background:transparent; border:0; border-bottom:1px solid #1d1d1d; border-left:2px solid transparent;
  transition:background .12s, color .12s, border-color .12s;}
.menu-list button:last-child,.rail-item:last-child{border-bottom:0;}
.side.left .rail-item{text-align:right;}   /* gear list reads right, like the original */
.side.right .rail-item{text-align:left;}  /* crimes read left */
.menu-list button:hover,.rail-item:hover:not(:disabled){background:#1c1c1c; color:#fff; border-left-color:#5a5a5a;}
.menu-list button.active{background:linear-gradient(90deg,rgba(232,22,14,.25),rgba(232,22,14,.08)); color:#fff; border-left-color:var(--blood); font-weight:bold;}
.rail-item.on{color:var(--brass); border-left-color:var(--brass); font-weight:bold;}
.rail-item:disabled{color:#555; cursor:default;}
.rail-item.dim{color:var(--ash);}
.gang-card{display:grid; gap:2px; font-size:14px; padding:2px 10px 8px; color:var(--ash);}
.gang-card .gtag{font-size:14px;}
.gtag{color:#4ea1ff; font-weight:bold; white-space:nowrap;}
.pad-s{padding:2px 10px 6px;}

/* ---------- main content ---------- */
main{min-height:420px; padding:12px; background:#0e0e0e;}
.card{background:var(--plate); border:1px solid #262626; margin:0 0 12px; padding:0 14px 12px;}
.card>h3{position:relative; margin:0 -14px 10px; padding:7px 14px 8px; text-align:center; font:bold 14px/1.3 var(--body); color:#fff;
  background:#0c0c0c; border-bottom:1px solid #262626;}
.card>h3::after{content:""; position:absolute; left:50%; bottom:-1px; width:44px; height:2px; margin-left:-22px; background:var(--blood);}
.card>h3 .lvl{color:var(--ash); font-weight:normal; margin-left:6px;}
.card:not(:has(>h3)){padding-top:12px;}
.card h3.flat{margin:0; font:bold 14px var(--body);}
.post{border-bottom:1px solid var(--rule); padding:9px 2px;}
.post:last-child{border-bottom:0;}

.row{display:flex; justify-content:space-between; align-items:center; gap:8px 10px; flex-wrap:wrap;}
.row.left{justify-content:flex-start; margin:10px 0;}
.row.around{justify-content:space-around;}
.row.center,.center{justify-content:center; text-align:center;}
.pad{margin:6px 0;}
.full{width:100%;}
.nowrap{white-space:nowrap;}
.right-al{text-align:right;}
.dim{color:var(--ash);} .small{font-size:.86em;} .flat{margin:0;}
.warn,.con{color:#ff8a82;} .pro{color:#86d99a;}
.online{color:var(--good);}
.npc,.bot{color:#ff3a30;}
.bot{font-weight:bold;}
.tag{display:inline-block; font:bold .74em/1.5 var(--body); letter-spacing:.03em; color:#d0d0d0; background:#0a0a0a; border:1px solid #3a3a3a; padding:0 6px; vertical-align:1px;}
.tag.bad{color:#ff8a82; border-color:var(--blood-deep);}
.slots{font-size:2.4em; text-align:center; margin:10px 0; letter-spacing:.25em; padding:10px; background:#0a0a0a; border:1px solid #262626;}
.planner{display:grid; grid-template-columns:repeat(auto-fill,minmax(170px,1fr)); gap:2px;}
.planner .side-link{text-align:left; background:#141414; border:1px solid #222; color:var(--bone); cursor:pointer; font:14px var(--body); padding:5px 9px;}
.planner .side-link:hover{border-color:#444; color:#fff;}

/* tables: hairline rows */
.scroll{overflow-x:auto; -webkit-overflow-scrolling:touch;}
table{width:100%; border-collapse:collapse; font-size:14px;}
th,td{text-align:left; padding:5px 8px; border-bottom:1px solid var(--rule);}
th{color:#fff; font:bold 14px var(--body); border-bottom-color:#3a3a3a;}
tr:hover td{background:var(--raise);}
td b{color:#fff;}

/* ---------- buttons: square, dark, red lettering ---------- */
.btn{
  font:14px var(--body); color:var(--blood); cursor:pointer; padding:3px 12px 4px; margin:2px; white-space:nowrap;
  background:#0b0b0b; border:1px solid #3d3d3d;
  transition:border-color .12s, background .12s, color .12s, box-shadow .12s;}
.btn:hover:not(:disabled){color:#fff; background:var(--blood); border-color:var(--blood); box-shadow:0 0 14px rgba(232,22,14,.45);}
.btn:active:not(:disabled){transform:translateY(1px);}
.btn.gold{color:var(--brass);}
.btn.gold:hover:not(:disabled){color:#111; background:var(--brass); border-color:var(--brass); box-shadow:0 0 14px rgba(255,198,26,.35);}
.btn:disabled{color:#4d4d4d; border-color:#262626; cursor:not-allowed;}
.linkbtn{background:none; border:0; padding:0; cursor:pointer; font:inherit; color:var(--brass);}
.linkbtn:hover{filter:brightness(1.35);}
.linkbtn.plink{color:#fff;}
.linkbtn.plink:hover{color:var(--brass);}
.linkbtn.hot{color:#ff5a4d; font-weight:bold;}

input[type=number],input[type=text],input[type=password],input:not([type]),select,textarea{
  font:14px var(--body); color:var(--bone); background:#0a0a0a; border:1px solid #333; padding:4px 7px; width:120px;}
textarea{width:100%; resize:vertical;}
input:focus,select:focus,textarea:focus{border-color:var(--brass); outline:none;}

/* ---------- result messages ---------- */
.msg{padding:7px 12px; margin:0 0 10px; background:#131313; border:1px solid #2a2a2a; border-left:3px solid; font-size:14px;}
.msg.good{border-left-color:var(--good); color:#c9f0d2;}
.msg.bad{border-left-color:var(--blood); color:#ffc3bd;}
.msg.info{border-left-color:var(--brass); color:#ffe8a6;}
/* quest boards (quests.php): the quest-giver and their jobs */
.quest-head{display:flex; gap:18px; align-items:center; margin:4px 0 14px;}
.quest-giver{flex:none; width:200px; height:200px; object-fit:contain; filter:drop-shadow(0 6px 10px rgba(0,0,0,.6));}
.quest-say{position:relative; flex:1; background:#1a1a1a; border:1px solid #3a3a3a; border-left:3px solid var(--brass); padding:10px 14px;}
.quest-say::before{content:""; position:absolute; left:-12px; top:32px; border:9px solid transparent; border-right-color:var(--brass); border-left:0;}
.quest-say p{margin:6px 0 0;}
.quest-name{font:800 18px/1 var(--display); color:var(--brass); letter-spacing:.5px;}
.quest-jobs{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px;}
.quest-job{background:#171717; border:1px solid #333; padding:10px 12px; display:flex; flex-direction:column; gap:4px;}
.quest-job.open{border-color:#6b5512;} .quest-job.paid{opacity:.6;}
.quest-top{display:flex; justify-content:space-between; align-items:center; gap:8px; font-size:15px;}
.quest-diff{font-size:11px; font-weight:bold; padding:1px 8px; border-radius:9px; background:#2a2a2a; white-space:nowrap;}
.quest-diff.d-easy{background:#16351d; color:#8fe0a0;} .quest-diff.d-medium{background:#10304a; color:#8fcaff;}
.quest-diff.d-hard{background:#4a3a10; color:#ffd36b;} .quest-diff.d-veryhard{background:#4a1512; color:#ff9d93;}
.quest-job p{margin:0;} .quest-obj{font-weight:bold;} .quest-quote{font-style:italic;}
.quest-bar{position:relative; height:16px; background:#0c0c0c; border:1px solid #333; margin-top:4px;}
.quest-bar span{position:absolute; left:0; top:0; bottom:0; background:linear-gradient(90deg,#8a6a10,var(--brass));}
.quest-bar em{position:relative; display:block; text-align:center; font:bold 11px/16px var(--body); color:#fff; font-style:normal; text-shadow:0 1px 2px #000;}
.quest-act{margin-top:6px;} .tag.ok{color:#8fe0a0; border-color:#2d5a36;}
@media (max-width:620px){ .quest-head{flex-direction:column; text-align:center;} .quest-say::before{display:none;} .quest-jobs{grid-template-columns:1fr;} }

/* admin: tabs */
.adm-tabs{display:flex; flex-wrap:wrap; justify-content:center; border:1px solid #333; margin:0 0 12px; background:#0d0d0d;}
.adm-tabs .tab{border-right:1px solid #333; border-bottom:2px solid transparent;}
.adm-tabs .tab.on{background:#1f1a0b; color:#fff; border-bottom-color:var(--brass);}
.adm-badge{display:inline-block; min-width:18px; padding:0 5px; margin-left:3px; border-radius:9px; font-size:11px; line-height:16px; text-align:center; color:#111; background:var(--brass);}
.adm-badge.bad{background:var(--blood); color:#fff;}
/* admin: connection history */
.ipk{display:inline-block; padding:1px 7px; border-radius:9px; font-size:12px; font-weight:bold; white-space:nowrap; background:#2a2a2a; color:#bbb;}
.ipk-bad{background:#4a1512; color:#ff9d93;} .ipk-warn{background:#4a3a10; color:#ffd36b;} .ipk-ok{background:#16351d; color:#8fe0a0;} .ipk-dim{color:#888;}
tr.ip-shared td{background:rgba(255,198,26,.07);} tr.ip-shared td:first-child{box-shadow:inset 3px 0 0 var(--brass);}
.hp-trap{position:absolute !important; left:-10000px !important; top:auto !important; width:1px !important; height:1px !important; overflow:hidden !important; opacity:0 !important; pointer-events:none !important;}   /* anti-cheat trap: nobody can see or reach it */
.msg.hosp-bar{display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; animation:none;}   /* stays up while you're admitted */
.hosp-bar-btns{flex:none; display:flex; align-items:center; gap:10px;}
.hosp-bar-txt{flex:1; min-width:220px;}
main>.msg:first-child{animation:flash .5s ease-out;}
@keyframes flash{from{background:#2a1513;}to{background:#131313;}}

footer{text-align:center; color:#5a5a5a; font-size:14px; margin:16px 0 6px;}
body.loading{cursor:progress;}
body.loading main{opacity:.9;}

/* ---------- login ---------- */
.login{max-width:760px; margin:6vh auto; padding:0 14px;}
.login .logo{justify-content:center; margin:0 0 8px;}
.login .tagline{text-align:center; color:var(--ash); margin:0 0 22px;}
.login-cols{display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:20px;}
.login .card{padding:0 18px 18px;}
.login label{display:block; margin:12px 0; color:var(--ash); font-size:14px;}
.login label input{display:block; width:100%; margin-top:5px; padding:9px;}
.login .btn{margin:8px 0 0; padding:8px 22px; width:100%;}

/* ---------- phones and small tablets: side columns become drawers ---------- */
@media (max-width:980px){
  body{padding:8px;}
  .hd{grid-template-columns:1fr; gap:12px;}
  .hd-center{order:-1;}
  .hd-bars{grid-template-columns:1fr 1fr; gap:8px 14px;}
  .avatar{width:60px; height:60px; font-size:32px;}
  .layout{grid-template-columns:minmax(0,1fr);}
  .drawer-btn{display:inline-block; font:600 14px var(--body); color:var(--brass); cursor:pointer; padding:6px 11px; background:#0d0d0d; border:1px solid #3a3a3a;}
  .strip{justify-content:space-between;}
  .readout{order:3; flex-basis:100%;}
  .side{position:fixed; top:0; bottom:0; z-index:30; width:min(80vw,290px); overflow-y:auto; padding:18px 12px calc(18px + env(safe-area-inset-bottom,0px));
    background:#090909; border-right:1px solid #2a2a2a; transition:transform .22s ease;}
  .side.left{left:0; transform:translateX(-105%);}
  .side.right{right:0; transform:translateX(105%); border-right:0; border-left:1px solid #2a2a2a;}
  body.drawer-left .side.left, body.drawer-right .side.right{transform:none; box-shadow:0 0 40px #000;}
  body.drawer-left::after, body.drawer-right::after{content:""; position:fixed; inset:0; z-index:20; background:rgba(0,0,0,.6);}
  .menu-list button,.rail-item{font-size:14px; padding:9px 12px;}
  .side .rail-item{text-align:left;}
}
@media (max-width:520px){
  header{padding:10px 10px 0;}
  .hd{gap:10px;}
  .hd-clock{display:none;}
  .logo{gap:14px;}
  .gem{width:15px; height:15px; outline-offset:3px;}
  .tab{font-size:14px; padding:5px 9px;}
  .avatar{width:52px; height:52px; font-size:28px;}
  .hd-bars{gap:6px 12px;}
  .gauge{font-size:14px;}
  .strip{margin:10px -10px 0; padding:7px 10px; gap:8px;}
  .drawer-btn{order:0;} .stars{order:1; flex:1; justify-content:center; font-size:14px; gap:1px;} .strip .drawer-btn:last-child{order:2;}
  .readout{order:3; gap:12px; font-size:14px;}
  .btn{padding:8px 14px;}
  th,td{padding:7px 6px;}
}
@media (prefers-reduced-motion:reduce){
  *{transition:none !important; animation:none !important;}
}

/* ---------- player and gang colors ---------- */
.uname{font-weight:inherit;}
.uname.fusion{-webkit-background-clip:text; background-clip:text; color:transparent;}
.uname.admin{color:var(--blood); font-weight:bold;}                 /* red belongs to admins and NPCs */
.uname.mod{color:#ff7373; font-weight:bold;}                          /* light red belongs to moderators */
   /* keeps black names readable */
.gname{font-weight:bold; color:#fff;}
.sub-h{margin:14px 0 4px; font:bold 14px var(--body); color:var(--brass);}
.grow{flex:1; min-width:220px;}

/* color pickers: the name shown in every color, like the original list */
.swatches{display:grid; grid-template-columns:repeat(auto-fill,minmax(150px,1fr)); gap:2px 10px; margin:6px 0 10px;
  padding:8px 10px; background:#2b2b2b; border:1px solid #3a3a3a;}          /* the original's grey, so every color reads true */
.swatch{display:flex; align-items:center; gap:6px; padding:2px 0; cursor:pointer; font-weight:bold; white-space:nowrap; overflow:hidden;}
.swatch input{margin:0; accent-color:var(--brass);}
.swatch .dim{font-weight:normal;}

/* avatars and profile quotes */
.avatar.has-img{padding:0; overflow:hidden;}
.avatar.has-img img{width:100%; height:100%; object-fit:cover; display:block;}
.quote{margin:4px 0; font-size:14px;}
.quote.it{font-style:italic;}

/* ---------- Criminal Profile: laid out like the original ---------- */
.profile-head{display:flex; gap:16px; align-items:center; margin:2px 0 12px;}
.profile-av{flex:none; max-width:200px; max-height:200px; object-fit:cover; background:#0a0a0a; border:1px solid #3a3a3a;}
.profile-av.blank{width:150px; height:150px; display:grid; place-items:center; font:800 72px/1 var(--display); color:#3a3a3a;}
.profile-quote{flex:1; text-align:center; padding:0 10px;}
.profile-quote .quote{font-size:14px; margin:0;}
.profile-grid{display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:6px 18px; align-items:start;}   /* both tables start on the same row: Name lines up with Wars */
table.kv td{border:0; padding:2px 8px 3px 0; vertical-align:top;}
table.kv td:first-child{font-weight:bold; color:#fff; white-space:nowrap; width:1%; padding-right:18px;}
table.kv tr:hover td{background:none;}

/* trophy: gold, silver or bronze by level, rank on the nameplate */
.trophy{position:relative; width:130px; margin:0 auto; --t1:#fff1b0; --t2:#d9a21b; --t3:#6b4a06;}
.trophy.silver{--t1:#ffffff; --t2:#b8bec6; --t3:#4f555c;}
.trophy.bronze{--t1:#ffd2a6; --t2:#b86b2c; --t3:#4e2a0c;}
.trophy svg{display:block; width:100%;}
.trophy .cup{fill:var(--t2); stroke:var(--t3); stroke-width:2; filter:drop-shadow(0 0 6px rgba(0,0,0,.6));}
.trophy .base{fill:#141414; stroke:#3a3a3a; stroke-width:2;}
.trophy-plate{position:absolute; left:18%; right:18%; bottom:10%; padding:6px 2px; text-align:center;
  font:800 13px/1.05 var(--display); letter-spacing:.04em; text-transform:uppercase; color:#1d1400;
  background:linear-gradient(var(--t1),var(--t2)); border:1px solid var(--t3);}

/* equipped items */
.items{display:flex; flex-wrap:wrap; justify-content:space-around; gap:14px 10px; padding:6px 0;}
.item{width:110px; text-align:center;}
.item-art{height:78px; display:grid; place-items:center;}
.item-art img{max-width:110px; max-height:78px;}
.item-art svg{width:62px; height:58px; fill:#3a3a3a; stroke:#6a6a6a; stroke-width:1.2;}
.item-name{color:var(--brass); font-size:14px; margin-top:4px;}

/* medals: a ribbon and a disk, count underneath. Real art in assets/medals/<key>.png replaces it. */
.medals{display:grid; grid-template-columns:repeat(auto-fill,minmax(92px,1fr)); gap:16px 8px; padding:8px 0;}
.medal{text-align:center; cursor:default;}
.medal-art{height:92px; display:flex; flex-direction:column; align-items:center; justify-content:flex-end;}
.medal-art img{max-height:92px; max-width:88px;}
.medal-svg{width:66px; height:88px; filter:drop-shadow(0 3px 4px rgba(0,0,0,.65));}
.medal-nm{font-size:11px; line-height:1.2; color:var(--bone); margin-top:2px;}
.medal-n{font-size:11px; color:var(--ash); margin-top:1px;}
.ribbon{width:40px; height:34px; background:linear-gradient(90deg,var(--c1) 0 50%,var(--c2) 50% 100%);
  clip-path:polygon(0 0,100% 0,100% 55%,50% 100%,0 55%); margin-bottom:-8px;}
.disk{width:48px; height:48px; display:grid; place-items:center; border-radius:50%;
  background:radial-gradient(circle at 35% 30%,#fafafa,#b9b9b9 45%,#5a5a5a 85%); border:2px solid #2a2a2a; box-shadow:0 2px 6px rgba(0,0,0,.7);}
.disk b{font:800 15px/1 var(--display); color:#1a1a1a; letter-spacing:.02em;}

@media (max-width:760px){
  .profile-head{flex-direction:column;}
  .profile-grid{grid-template-columns:1fr;}
  .trophy{width:100px;}
}

/* ---------- Logo: wax seal mark + wordmark between the diamonds ---------- */
.logo-mark{width:58px; height:58px; flex:none; filter:drop-shadow(0 2px 3px rgba(0,0,0,.8)) drop-shadow(0 0 10px rgba(232,22,14,.35));}
.logo{gap:14px;}
.logo.big .logo-mark{width:84px; height:84px;}
.logo.big .logo-type{font-size:clamp(40px,8vw,64px);}
.login-logo{margin:0 0 6px; display:flex; justify-content:center;}

/* ---------- gauges: labels read as links; the whole gauge refills ---------- */
.gauge-label b{text-decoration:underline dotted rgba(255,198,26,.45); text-underline-offset:3px;}
.gauge:hover .gauge-label b{color:#ffe07a; text-decoration-style:solid;}

/* ---------- symbol buttons under the Nerve gauge ---------- */
.hd-icons{display:flex; gap:5px; justify-content:flex-end; flex-wrap:wrap; margin-top:3px;}
.icon-btn{position:relative; width:34px; height:30px; display:grid; place-items:center; cursor:pointer; color:#d2d2d2; background:#0d0d0d; border:1px solid #333;}
.icon-btn svg{width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round;}
.icon-btn:hover{color:var(--brass); border-color:#6a5410; background:#181818;}
.icon-btn.red{color:var(--blood);}
.icon-btn.red svg{fill:currentColor; stroke:none;}
.icon-btn.red:hover{color:#ff4a3d; border-color:var(--blood-deep);}
.icon-btn .badge{position:absolute; top:-6px; right:-6px; min-width:16px; height:16px; padding:0 4px; font:bold 10px/16px var(--body); color:#fff; background:var(--blood); border:1px solid #000;}

/* clickable tags and gang names keep their colors */
.linkbtn.gtag{color:#4ea1ff; font-weight:bold;}
.linkbtn.gname{color:#fff; font-weight:bold;}
.linkbtn.gtag:hover,.linkbtn.gname:hover,.linkbtn.plink:hover{filter:brightness(1.35);}
.gang-card .gname{display:block; font-size:14px; margin-bottom:2px;}

@media (max-width:980px){ .hd-icons{justify-content:center;} }
@media (max-width:520px){
  .logo .gem{display:none;}
  .logo-mark{width:46px; height:46px;}
  .hd-bars .hd-icons{grid-column:1 / -1;}
  .icon-btn{width:38px; height:34px;}
}
.logo-type{white-space:nowrap;}
@media (max-width:1180px) and (min-width:981px){ .logo .gem{display:none;} .logo-type{font-size:40px;} }
.logo-type{font-size:clamp(30px,3.3vw,46px); letter-spacing:.03em;}
.hd-center{min-width:0;}

/* the wordmark stands alone now: a touch larger, with room to breathe */
.logo-type{font-size:clamp(36px,4.2vw,56px); letter-spacing:.05em;}
.logo.big .logo-type{font-size:clamp(44px,9vw,72px);}
@media (max-width:1180px) and (min-width:981px){ .logo-type{font-size:44px;} }

/* ---------- lighter greys: every surface a few steps up from near-black ---------- */
header{background:radial-gradient(ellipse 40% 100% at 50% 40%, rgba(180,16,10,.18), transparent 70%), linear-gradient(180deg,#282828,#1c1c1c);}
.frame,header,main,.login .card{border-color:#383838; border-top-color:#6a6a6a;}
main{background:#262626;}
.card{border-color:#3a3a3a;}
.card>h3{background:#1f1f1f; border-bottom-color:#3a3a3a;}
.strip{background:#1c1c1c; border-top-color:#343434;}
.plate{background:#1b1b1b; border-bottom-color:#383838;}
.avatar{background:linear-gradient(135deg,#3a3a3a,#1e1e1e); border-color:#484848;}
.tab,.drawer-btn,.btn,.tag,.slots,.profile-av,
input[type=number],input[type=text],input[type=password],input:not([type]),select,textarea{background:#1b1b1b;}
.tab:hover:not(:disabled){background:#2c2c2c;}
.icon-btn,.ico{background:#1d1d1d; border-color:#3e3e3e;}
.icon-btn:hover,.ico:hover{background:#2c2c2c;}
.menu-list button,.rail-item{border-bottom-color:#2e2e2e;}
.menu-list button:hover,.rail-item:hover:not(:disabled){background:#313131;}
.planner .side-link{background:#262626; border-color:#3a3a3a;}
.msg{background:#242424; border-color:#3a3a3a;}
@keyframes flash{from{background:#3a201d;}to{background:#242424;}}
.swatches{background:#333; border-color:#444;}
.tube{background:#101010; border-color:#333;}
@media (max-width:980px){ .side{background:#1c1c1c; border-color:#383838;} }

/* no red glow around the wordmark: plain white type on a plain header */
.logo-type{text-shadow:0 2px 0 #000;}
header{background:linear-gradient(180deg,#282828,#1c1c1c);}

/* ---------- star strip: stars left, stats dead center, status right ---------- */
@media (min-width:981px){
  .strip{display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:14px;}
  .strip .stars{justify-self:start;}
  .strip .readout{justify-self:center; flex:none;}
  .strip .strip-status{justify-self:end; text-align:right; font-size:14px;}
}
@media (max-width:980px){ .strip-status{order:4; flex-basis:100%; text-align:center; font-size:14px;} .strip-status:empty{display:none;} }
#clock{font-variant-numeric:tabular-nums;}

/* crime table: numbers and buttons centered, like the original */
table.crimes .num{text-align:center; white-space:nowrap;}

/* ---------- cities ---------- */
.strip-left{display:flex; align-items:center; gap:14px; flex-wrap:wrap;}
.city-tabs{display:flex; gap:2px;}
.city-btn{font:800 17px/1 var(--display); letter-spacing:.04em; padding:3px 6px 2px; cursor:pointer; background:transparent; border:1px solid transparent;
  text-shadow:0 1px 0 #000;}
.city-btn:hover:not(:disabled){border-color:#555; background:#2a2a2a;}
.city-btn.here{border-color:currentColor; background:#161616;}
.city-btn:disabled{opacity:.28; cursor:not-allowed;}
.city-tag{font:800 12px/1 var(--display); letter-spacing:.04em; margin-left:4px;}
@media (min-width:981px){ .strip .strip-left{justify-self:start;} }
@media (max-width:980px){ .strip-left{order:1; flex:1; justify-content:center; gap:8px;} .strip-left .stars{flex:none;} .city-btn{font-size:15px; padding:4px 5px;} }

/* the city page: a dusk skyline behind the six hub boxes */
.city-scene{position:relative; margin:0 -14px -12px; padding:22px 18px 26px; overflow:hidden;
  background:
    linear-gradient(180deg, transparent 55%, rgba(0,0,0,.55) 100%),
    radial-gradient(ellipse 60% 45% at 50% 78%, rgba(255,190,90,.55), transparent 70%),
    linear-gradient(180deg, #3a2a3f 0%, #7a3f36 38%, #c46a2f 62%, #e8a24a 78%, #2a1f1a 100%);}

.city-hub{position:relative; z-index:1; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px 26px;}
.hub-box{background:rgba(20,20,20,.88); border:1px solid #444; padding:0 6px 6px; box-shadow:0 6px 18px rgba(0,0,0,.55);}
.hub-box .plate{margin:0 -6px 6px;}
.hub-box .menu-list button:disabled{color:#666; cursor:not-allowed;}
@media (max-width:760px){ .city-hub{grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px;} }
@media (max-width:460px){ .city-hub{grid-template-columns:1fr;} }

/* ---------- themed city scenes: sky per city, skyline SVG along the bottom ---------- */
.city-scene{padding-bottom:150px;}
.city-scene .skyline{position:absolute; left:0; right:0; bottom:0; width:100%; height:78%; pointer-events:none;}
.city-scene.city-ATL{background:linear-gradient(180deg,#2d1f3f 0%,#7e3a40 35%,#d56a2f 62%,#f2b04a 80%,#2a1c14 100%);}
.city-scene.city-LA{background:linear-gradient(180deg,#1e1640 0%,#5e2a6e 30%,#c7466f 58%,#ff9d5c 78%,#2a1a24 100%);}
.city-scene.city-DT{background:linear-gradient(180deg,#0e1726 0%,#223a55 40%,#4d6a84 66%,#93a9b8 82%,#1b2a3a 100%);}
.city-scene.city-CHI{background:linear-gradient(180deg,#03060f 0%,#08112a 45%,#12224a 75%,#1b2f5c 100%);}
.city-scene{padding-bottom:220px;}
.city-scene .skyline{height:auto; aspect-ratio:5/2; top:auto;}
.hub-box{background:rgba(18,18,18,.84);}
@media (max-width:760px){ .city-scene{padding-bottom:160px;} }
@media (max-width:460px){ .city-scene{padding-bottom:120px;} }
/* car lot and garage: name above the picture, numbers centered, like the original */
table.carlot .num,table.garage td:not(:first-child){text-align:center; white-space:nowrap;}
.car-cell .item,table.garage .item{width:170px; display:flex; flex-direction:column-reverse; align-items:center;}
.car-cell .item-name,table.garage .item-name{margin:0 0 4px; font-weight:bold;}

/* ---------- menu counters: red when something is waiting ---------- */
.menu-list .count{color:var(--blood); font-weight:bold;}
.menu-list button.active .count{color:#fff;}

/* ---------- Recent Rumors: the latest Street Talk, one line per post ---------- */
.rumor{padding:5px 6px 6px; border-bottom:1px solid #2e2e2e;}
.rumor:last-child{border-bottom:0;}
.rumor-who{font-size:14px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
.rumor-text{display:block; width:100%; margin-top:2px; padding:0; text-align:left; white-space:nowrap; overflow:hidden;
  font:14px var(--body); color:var(--bone); background:none; border:0; cursor:pointer;}
.rumor-text:hover{color:var(--brass);}
.side .plate{font-size:15px; letter-spacing:.02em;}   /* long headings like RECENT RUMORS stay on one line */

/* gun store: numbers and buttons centered */
table.gear-table .num{text-align:center; white-space:nowrap;}

/* damage report under fight results and events */
.dmg{font-size:.92em; color:var(--ash);}
.dmg b{color:var(--bone);}

/* ==========================================================================
   Tone pass: the original's layered greys instead of one flat shade.
   black page  ->  dark striped steel chrome  ->  lighter #333 content wells
   with near-black gradient title bars and striped metal menu buttons.
   ========================================================================== */
:root{ --ash:#aaa49c; }                                    /* secondary text stays readable on #333 */
body{
  background:
    radial-gradient(ellipse 70% 35% at 50% 0%, rgba(120,10,6,.12), transparent 70%),
    repeating-linear-gradient(135deg, #131313 0 1px, #000 1px 4px);
}
/* chrome: header, side frames, the area around the content */
header,.frame{
  background:repeating-linear-gradient(135deg, #1c1c1c 0 2px, #232323 2px 4px);
  border:1px solid #0a0a0a; border-top-color:#5c5c5c;
  box-shadow:0 0 0 1px #2c2c2c, 0 12px 28px rgba(0,0,0,.75);
}
main{background:repeating-linear-gradient(135deg, #191919 0 2px, #1f1f1f 2px 4px); border-color:#0a0a0a; border-top-color:#5c5c5c;}
.strip{background:repeating-linear-gradient(135deg, #111 0 2px, #181818 2px 4px); border-top:1px solid #3c3c3c;}

/* content wells: the lighter flat grey the original uses for anything you read */
.card{background:#333; border:1px solid #0d0d0d; box-shadow:inset 0 1px 0 #454545, 0 2px 6px rgba(0,0,0,.45);}
.card>h3{background:linear-gradient(#2f2f2f, #0e0e0e 60%, #050505); border-top:1px solid #5a5a5a; border-bottom:1px solid #000;}
.card>h3::after{background:var(--blood);}

/* tables: dark header band, faint row banding, clear hover */
th{background:#1d1d1d; border-bottom:1px solid #0d0d0d;}
th,td{border-bottom-color:#3f3f3f;}
tr:nth-child(odd) td{background:rgba(0,0,0,.07);}
tr:hover td{background:#3d3d3d;}

/* heading plates on the sidebars: black steel with a lit top edge */
.plate{background:linear-gradient(#1b1b1b, #060606); border-top:1px solid #5c5c5c; border-bottom:1px solid #000; color:#f2f2f2; text-shadow:0 2px 0 #000;}

/* menu buttons: striped metal bars with a lit top edge and a bolt on the end */
.menu-list button,.rail-item{
  position:relative; margin-bottom:1px; color:#fff;
  background:repeating-linear-gradient(135deg, #292929 0 2px, #303030 2px 4px);
  border:1px solid #0b0b0b; border-top-color:#4a4a4a; border-left:1px solid #0b0b0b;
}
.menu-list button::after,.rail-item::after{content:""; position:absolute; right:5px; top:50%; width:7px; height:7px; margin-top:-3.5px; border-radius:50%;
  background:radial-gradient(circle at 35% 30%, #9a9a9a, #3c3c3c 60%, #0d0d0d); box-shadow:inset 0 0 0 1px #000;}
.menu-list button:hover,.rail-item:hover:not(:disabled){background:repeating-linear-gradient(135deg, #343434 0 2px, #3b3b3b 2px 4px); color:var(--brass); border-left-color:#0b0b0b;}
.menu-list button.active{background:linear-gradient(90deg, rgba(232,22,14,.38), rgba(232,22,14,.12)), repeating-linear-gradient(135deg, #292929 0 2px, #303030 2px 4px); border-top-color:#c3241c;}
.rail-item.on{background:linear-gradient(90deg, rgba(255,198,26,.22), rgba(255,198,26,.05)), repeating-linear-gradient(135deg, #292929 0 2px, #303030 2px 4px); border-top-color:#8a6a10;}
.rail-item:disabled{color:#5f5f5f;}

/* controls: black steel buttons and inputs that sit clearly on the #333 wells */
.btn{background:linear-gradient(#272727, #070707); border:1px solid #4d4d4d; box-shadow:inset 0 1px 0 rgba(255,255,255,.1), 0 1px 2px #000;}
.tab{background:linear-gradient(#222, #080808);}
.icon-btn,.drawer-btn{background:linear-gradient(#262626, #0a0a0a); border-color:#454545;}
input[type=number],input[type=text],input[type=password],input:not([type]),select,textarea{background:#161616; border-color:#4a4a4a;}
.tag{background:#141414; border-color:#4a4a4a;}
.msg{background:#2b2b2b; border-color:#111;}
@keyframes flash{from{background:#442320;}to{background:#2b2b2b;}}

/* panels inside panels read one step darker than the #333 well */
.planner .side-link,.slots,.post{background:#2b2b2b;}
.post{border-bottom:1px solid #3f3f3f; padding:9px 8px;}
.hub-box{background:rgba(22,22,22,.9); border-color:#0b0b0b; border-top-color:#555;}
.swatches{background:#2b2b2b; border-color:#444;}
.rumor{border-bottom-color:#2e2e2e;}
@media (max-width:980px){ .side{background:repeating-linear-gradient(135deg, #141414 0 2px, #1a1a1a 2px 4px);} }
.menu-list button,.rail-item{padding-left:20px; padding-right:20px;}   /* room for the bolt on the end */
.side.left .rail-item{padding-left:8px;}
.side.right .rail-item{padding-right:20px;}

/* softer weave: the stripes are barely there now */
body{background:radial-gradient(ellipse 70% 35% at 50% 0%, rgba(120,10,6,.12), transparent 70%), repeating-linear-gradient(135deg, #080808 0 1px, #030303 1px 4px);}
header,.frame{background:repeating-linear-gradient(135deg, #1e1e1e 0 2px, #212121 2px 4px);}
main{background:repeating-linear-gradient(135deg, #1c1c1c 0 2px, #1e1e1e 2px 4px);}
.strip{background:repeating-linear-gradient(135deg, #151515 0 2px, #171717 2px 4px);}
.menu-list button,.rail-item{background:repeating-linear-gradient(135deg, #2c2c2c 0 2px, #2f2f2f 2px 4px);}
.menu-list button:hover,.rail-item:hover:not(:disabled){background:repeating-linear-gradient(135deg, #373737 0 2px, #3a3a3a 2px 4px);}
.menu-list button.active{background:linear-gradient(90deg, rgba(232,22,14,.38), rgba(232,22,14,.12)), repeating-linear-gradient(135deg, #2c2c2c 0 2px, #2f2f2f 2px 4px);}
.rail-item.on{background:linear-gradient(90deg, rgba(255,198,26,.22), rgba(255,198,26,.05)), repeating-linear-gradient(135deg, #2c2c2c 0 2px, #2f2f2f 2px 4px);}
@media (max-width:980px){ .side{background:repeating-linear-gradient(135deg, #181818 0 2px, #1a1a1a 2px 4px);} }

/* no bolt on the buttons */
.menu-list button::after,.rail-item::after{content:none;}
.menu-list button,.rail-item{padding-left:10px; padding-right:10px;}
.side.left .rail-item{padding-left:8px;}

/* ---------- accents: a dark, greyed-out red instead of bright red ----------
   Bright red is kept only where it means something: health/energy bars, NPC and
   admin names, counters, wanted stars, the hospital cross, attack buttons, errors. */
:root{ --accent:#4e2a2a; --accent-hi:#6b3838; --accent-lo:#2e1b1b; }
body{background:radial-gradient(ellipse 70% 35% at 50% 0%, rgba(78,42,42,.28), transparent 70%), repeating-linear-gradient(135deg, #080808 0 1px, #030303 1px 4px);}
.frame::before,header::before,main::before,.login .card::before{border-top-color:var(--accent-hi); border-left-color:var(--accent-hi);}
.frame::after,header::after,main::after,.login .card::after{border-bottom-color:var(--accent-hi); border-right-color:var(--accent-hi);}
.card>h3::after{background:var(--accent-hi);}
.avatar{border-bottom-color:var(--accent-hi);}
.menu-list button.active{background:linear-gradient(90deg, rgba(107,56,56,.75), rgba(78,42,42,.35)), repeating-linear-gradient(135deg, #2c2c2c 0 2px, #2f2f2f 2px 4px); border-top-color:var(--accent-hi); color:#fff;}
.menu-list button.active .count{color:#ff8c84;}
.btn:hover:not(:disabled){background:linear-gradient(#5a3030, #3a1f1f); border-color:var(--accent-hi); color:#fff; box-shadow:0 0 10px rgba(107,56,56,.5);}
.btn.gold:hover:not(:disabled){background:linear-gradient(#4a3f1e, #2a230f); border-color:#8a6a10; color:var(--brass); box-shadow:0 0 10px rgba(138,106,16,.35);}
.gauge:hover .tube{outline-color:var(--accent-hi);}
::selection{background:var(--accent-hi); color:#fff;}
.menu-list button.active{border-left-color:var(--accent-hi);}
.card>h3{border-left-color:transparent;}

/* ---------- darker, grittier city skies (the skyline art sits along the bottom) ---------- */
.city-scene.city-ATL{background:linear-gradient(180deg,#07060b 0%,#120d16 40%,#2a1512 72%,#3a1c10 86%,#0a0605 100%);}
.city-scene.city-LA{background:linear-gradient(180deg,#06050b 0%,#120a18 38%,#2c1022 66%,#43201f 84%,#0a0507 100%);}
.city-scene.city-DT{background:linear-gradient(180deg,#04060b 0%,#0a1220 45%,#15202f 72%,#1c2432 86%,#05070a 100%);}
.city-scene.city-CHI{background:linear-gradient(180deg,#020309 0%,#050a18 50%,#0b1428 80%,#101c33 100%);}
.city-scene .skyline{height:auto; aspect-ratio:5/2;}
.hub-box{background:rgba(12,12,12,.9);}
.city-scene{padding-bottom:300px;}   /* room below the menus so the landmark towers show */
@media (max-width:760px){ .city-scene{padding-bottom:190px;} }
@media (max-width:460px){ .city-scene{padding-bottom:150px;} }

/* ==========================================================================
   Stat bars: clean, slim and smooth. One color per stat, no segments or glow.
   ========================================================================== */
.g-hp{--bar:#d0463f;} .g-en{--bar:#e0a531;} .g-aw{--bar:#3f9fd4;} .g-nv{--bar:#9a6ad6;}
.hd-bars{gap:10px;}
.gauge-label{display:flex; justify-content:space-between; align-items:baseline; margin-bottom:4px; font-size:14px; color:#fff; font-variant-numeric:tabular-nums;}
.gauge-label b{font:600 11px var(--body); letter-spacing:.08em; text-transform:uppercase; color:#9c968f; text-decoration:none; transition:color .15s;}
.gauge:hover .gauge-label b{color:var(--bar); text-decoration:none;}
.gauge .tube,.tube{height:6px; margin-top:0; border:0; border-radius:3px; background:#0b0b0b; box-shadow:inset 0 0 0 1px #2a2a2a; overflow:hidden; outline:none;}
.gauge:hover .tube{box-shadow:inset 0 0 0 1px #3d3d3d; outline:none;}
.tube::after{display:none;}
.tube>span{border-radius:3px; box-shadow:none; background:linear-gradient(rgba(255,255,255,.22), rgba(255,255,255,0) 70%), var(--bar, var(--blood)); transition:width .5s cubic-bezier(.2,.8,.2,1);}
.tube.xp{height:4px; max-width:190px; --bar:#d8ad2c;}
.tube.xp>span{background:linear-gradient(rgba(255,255,255,.25), rgba(255,255,255,0) 70%), var(--bar);}
@media (max-width:520px){ .gauge-label{font-size:12px;} .gauge-label b{font-size:10px;} }
.gauge .tube,.tube,.tube>span{border-radius:1px;}   /* square ends, to match the rest of the site */

/* ---------- previous names dropdown on profiles ---------- */
.name-history{position:relative; display:inline-block; margin-left:8px; font-size:14px; vertical-align:middle;}
.name-history summary{cursor:pointer; color:var(--brass); list-style:none;}
.name-history summary::-webkit-details-marker{display:none;}
.name-history summary::after{content:" \25BE";}
.name-history[open] summary::after{content:" \25B4";}
.name-history ul{position:absolute; z-index:5; margin:4px 0 0; padding:6px 12px; list-style:none; background:#1b1b1b; border:1px solid #444; box-shadow:0 6px 14px rgba(0,0,0,.6);}
.name-history li{padding:2px 0; white-space:nowrap; color:var(--bone);}

/* ---------- Cemetery ---------- */
.graves{display:grid; grid-template-columns:repeat(auto-fill,minmax(150px,1fr)); gap:14px; margin-top:10px;}
.grave{display:flex; flex-direction:column; align-items:center; gap:8px;}
.grave-stone{width:100%; min-height:128px; padding:16px 8px 12px; display:flex; flex-direction:column; align-items:center; gap:3px; text-align:center;
  background:linear-gradient(#4a4a4a, #2a2a2a 55%, #1c1c1c); border:1px solid #0a0a0a; border-top-color:#6a6a6a; border-radius:46% 46% 2px 2px / 32% 32% 2px 2px;
  box-shadow:inset 0 2px 0 rgba(255,255,255,.08), 0 6px 12px rgba(0,0,0,.6);}
.grave-stone b{color:#e8e4dc; font-size:14px; word-break:break-word;}
.grave-stone .rip{font:800 13px/1 var(--display); letter-spacing:.14em; color:#9a948c;}

/* ==========================================================================
   Cemetery: weathered granite headstones in a foggy night graveyard
   ========================================================================== */
.graves{position:relative; grid-template-columns:repeat(auto-fill,minmax(150px,1fr)); gap:26px 18px; margin:12px -14px -12px; padding:28px 18px 34px;
  background:
    radial-gradient(ellipse 30% 22% at 82% 8%, rgba(220,215,190,.10), transparent 70%),
    linear-gradient(180deg, transparent 70%, rgba(150,150,160,.10) 86%, rgba(20,20,22,.9) 100%),
    linear-gradient(180deg, #08090d 0%, #10121a 45%, #16161a 72%, #141210 80%, #0d0b09 100%);}
.grave{position:relative; padding-bottom:8px;}
.grave-stone{position:relative; z-index:1; width:86%; min-height:150px; margin:0 auto; padding:20px 10px 16px; gap:4px;
  background:
    url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='140' height='140'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0  0 0 0 0 0  0 0 0 0 0  0 0 0 .6 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>"),
    radial-gradient(ellipse 40% 26% at 12% 100%, rgba(70,95,50,.55), transparent 70%),
    radial-gradient(ellipse 30% 20% at 92% 100%, rgba(70,95,50,.45), transparent 70%),
    linear-gradient(160deg, #6a6a6e 0%, #55555a 38%, #414146 70%, #34343a 100%);
  background-blend-mode:overlay, normal, normal, normal;
  border:0; border-radius:48% 48% 3px 3px / 30% 30% 3px 3px;
  box-shadow:inset 0 2px 0 rgba(255,255,255,.16), inset 3px 0 6px rgba(255,255,255,.06), inset -6px 0 10px rgba(0,0,0,.35),
    inset 0 -10px 14px rgba(0,0,0,.4), 0 10px 16px rgba(0,0,0,.7);}
.grave:nth-child(3n+2) .grave-stone{border-radius:10px 10px 3px 3px; transform:rotate(-1.6deg);}          /* square-shouldered */
.grave:nth-child(3n) .grave-stone{border-radius:50% 50% 3px 3px / 18% 18% 3px 3px; transform:rotate(1.2deg);}   /* pointed */
.grave:nth-child(4n+1) .grave-stone{background:
    url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='170'><path d='M118 18 L110 42 L121 58 L106 83 L113 101' stroke='%23161618' stroke-width='1.4' fill='none' opacity='.75'/><path d='M110 42 L98 50' stroke='%23161618' stroke-width='1' fill='none' opacity='.6'/></svg>"), url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='140' height='140'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0  0 0 0 0 0  0 0 0 0 0  0 0 0 .6 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>"),
    radial-gradient(ellipse 40% 26% at 12% 100%, rgba(70,95,50,.55), transparent 70%),
    linear-gradient(160deg, #6a6a6e 0%, #55555a 38%, #414146 70%, #34343a 100%); background-blend-mode:normal, overlay, normal, normal;}
/* chiseled lettering */
.grave-stone .rip,.grave-stone b,.grave-stone .epitaph{color:#2c2c30; text-shadow:0 1px 0 rgba(255,255,255,.2), 0 -1px 0 rgba(0,0,0,.45);}
.grave-stone .rip{font:700 12px/1 Georgia,'Times New Roman',serif; letter-spacing:.3em;}
.grave-stone b{font:700 15px/1.2 Georgia,'Times New Roman',serif; letter-spacing:.03em; text-transform:uppercase; margin:4px 0 2px; word-break:break-word;}
.grave-stone .epitaph{font:italic 12px/1.3 Georgia,'Times New Roman',serif; color:#35353a;}
.grave-stone .cross{width:12px; height:17px; margin-bottom:2px; position:relative;}
.grave-stone .cross::before,.grave-stone .cross::after{content:""; position:absolute; background:#2c2c30; box-shadow:0 1px 0 rgba(255,255,255,.2);}
.grave-stone .cross::before{left:5px; top:0; width:2.5px; height:17px;}
.grave-stone .cross::after{left:0; top:4px; width:12px; height:2.5px;}
/* fresh dirt in front of each stone */
.grave .mound{position:relative; z-index:2; display:block; width:100%; height:16px; margin:-7px auto 10px; border-radius:50% 50% 45% 45% / 100% 100% 40% 40%;
  background:radial-gradient(ellipse at 50% 30%, #3a2c20, #221910 60%, #140e09); box-shadow:0 4px 8px rgba(0,0,0,.6);}
.grave .btn{position:relative; z-index:2;}

/* readability: lighter granite, deeper lettering, names that fit */
.grave-stone{background-color:transparent;}
.grave-stone,.grave:nth-child(4n+1) .grave-stone{filter:brightness(1.28) contrast(1.05);}
.grave-stone .rip,.grave-stone b,.grave-stone .epitaph{color:#141416; text-shadow:0 1px 0 rgba(255,255,255,.32), 0 -1px 0 rgba(0,0,0,.55);}
.grave-stone .epitaph{color:#1c1c1f;}
.grave-stone b{font-size:13px; letter-spacing:.02em; overflow-wrap:anywhere; word-break:normal; max-width:100%;}
.grave-stone .cross::before,.grave-stone .cross::after{background:#141416; box-shadow:0 1px 0 rgba(255,255,255,.32);}
.grave .mound{width:84%; height:18px;}
.grave-stone{max-width:160px;}
.grave .mound{max-width:160px;}
.grave:nth-child(4n+1) .grave-stone{background-position:right -46px top 2px, 0 0, 0 0, 0 0; background-repeat:no-repeat, repeat, no-repeat, no-repeat;}   /* crack along the edge, clear of the lettering */
@media (max-width:520px){
  .graves{grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px 10px; padding:22px 10px 28px;}
  .grave-stone{min-height:138px; padding:18px 6px 14px;}
  .grave-stone b{font-size:12px;}
}

.gold-t{color:var(--brass);}

/* ---------- bracket link rows (Preferences, Gang) ---------- */
.link-row{display:flex; flex-wrap:wrap; justify-content:center; gap:6px 14px; margin:4px 0 6px;}
.link-row .lr-on .linkbtn{color:#fff; text-decoration:underline; text-underline-offset:4px;}
.prefs-avatar{display:grid; grid-template-columns:minmax(0,1fr) 200px; gap:18px;}
.prefs-avatar .hosts{display:flex; flex-direction:column; gap:3px; font-size:14px;}
.prefs-avatar .hosts i{color:#cfd8ff;}
.prefs-preview{font-size:16px; margin:4px 0 10px;}
.gang-motto{text-align:right; font-weight:bold; margin:2px 0 12px;}
table.gang-stats th,table.gang-stats td{text-align:center;}
table.gang-stats{margin-bottom:14px;}
@media (max-width:620px){ .prefs-avatar{grid-template-columns:1fr;} }

/* ---------- Manage Members ---------- */
.gm-ranks p{margin:2px 0;}
.gm-table td:first-child,.gm-table th:first-child{width:28px; text-align:center;}
.gm-opts{display:flex; flex-direction:column; gap:4px; margin:14px 0 10px;}
.gm-opt{display:flex; align-items:center; gap:8px; cursor:pointer;}
.gm-opt input,.gm-table input{accent-color:var(--brass);}

/* ---------- gang banner, quote and scrolling text ---------- */
.gang-banner{max-width:600px; margin:6px auto 10px; border:1px solid #0b0b0b; box-shadow:0 4px 12px rgba(0,0,0,.6); background:#030303;}
.gang-banner img,.gang-banner svg{display:block; width:100%; height:auto; aspect-ratio:3/1; object-fit:cover;}
.gang-quote{font-weight:bold; text-align:right; margin:0 0 10px;}
.gang-message{margin:10px 0 14px; white-space:normal;}
.marquee{overflow:hidden; white-space:nowrap; text-align:left;}
.marquee span{display:inline-block; padding-left:100%; animation:marquee 18s linear infinite;}
.gang-message.marquee span{animation-duration:40s;}
@keyframes marquee{from{transform:translateX(0);} to{transform:translateX(-100%);}}
@media (prefers-reduced-motion: reduce){ .marquee{white-space:normal;} .marquee span{animation:none; padding-left:0;} }

/* ==========================================================================
   Casino: cards, reels, dice and wheels. Results are decided on the server;
   these animations only reveal them, once, right after the bet.
   ========================================================================== */
.casino-game{display:flex; flex-direction:column; gap:12px;}
.felt{position:relative; padding:18px 14px 14px; min-height:150px; border-radius:10px; border:1px solid #0a0a0a;
  background:radial-gradient(ellipse at 50% 30%, #1f5a37 0%, #164229 55%, #0e2c1b 100%); box-shadow:inset 0 0 0 6px #3b2a14, inset 0 0 0 7px #c9a54a55, inset 0 10px 30px rgba(0,0,0,.45);}
.felt-note{color:#d8e6d8; text-align:center; font-size:14px; opacity:.85; margin:6px 0;}
.seat{margin:4px 0 12px;}
.seat-label{display:block; text-align:center; color:#e8efe8; font-size:14px; margin-bottom:6px; letter-spacing:.04em;}
.seat-label b{display:inline-block; min-width:26px; padding:1px 7px; margin-left:4px; border-radius:10px; background:#0b1f13; color:#fff;}
.hand{display:flex; justify-content:center; flex-wrap:wrap; gap:8px; perspective:600px;}
.bac-row{display:grid; grid-template-columns:1fr 1fr; gap:10px;}

/* playing cards */
.pc{position:relative; width:62px; height:88px; border-radius:7px; background:linear-gradient(160deg, #ffffff, #ecebe6); color:#161616;
  border:1px solid #9a9a9a; box-shadow:0 3px 8px rgba(0,0,0,.45); font:700 14px/1 Georgia,'Times New Roman',serif; flex:none;}
.pc.red{color:#c0271f;}
.pc-c{position:absolute; left:5px; top:5px; text-align:center; font-size:13px; line-height:1.05;}
.pc-c.pc-flip{left:auto; top:auto; right:5px; bottom:5px; transform:rotate(180deg);}
.pc-big{position:absolute; inset:0; display:grid; place-items:center; font-size:32px;}
.pc.back{background:repeating-linear-gradient(45deg, #5a2323 0 5px, #3e1717 5px 10px); border:3px solid #f1eee6; box-shadow:0 3px 8px rgba(0,0,0,.45), inset 0 0 0 2px #7a3030;}
@keyframes deal{from{transform:translate(-160px,-90px) rotate(-25deg); opacity:0;} to{transform:none; opacity:1;}}
@keyframes flipin{from{transform:rotateY(90deg);} to{transform:rotateY(0);}}
.fx .pc.dealt{animation:deal .5s cubic-bezier(.2,.8,.25,1) both; animation-delay:calc(var(--i) * .2s);}
.fx.fx-hit .pc.dealt{animation-delay:0s;}
.fx.fx-stand .pc.flip{animation:flipin .45s ease-out both;}
.fx.fx-stand .pc.dealt{animation-delay:calc(.45s + var(--i) * .35s);}

/* result lines appear once the animation lands */
.cas-outcome{margin:10px auto 0; max-width:420px; padding:8px 12px; text-align:center; font-weight:bold; border-radius:6px; background:rgba(0,0,0,.55); color:#fff;}
.cas-outcome.win{box-shadow:inset 0 0 0 1px #d8ad2c; color:#ffe07a;}
.cas-outcome.lose{box-shadow:inset 0 0 0 1px #6b3838; color:#f0c0bb;}
.cas-outcome.push{box-shadow:inset 0 0 0 1px #555;}
@keyframes reveal{from{opacity:0; transform:translateY(6px);} to{opacity:1; transform:none;}}
.fx .reveal{animation:reveal .35s ease-out both; animation-delay:var(--t, 1s);}

/* slot machine */
.slot-machine{margin:0 auto; width:min(100%, 380px); padding:12px 14px 16px; border-radius:16px 16px 10px 10px;
  background:linear-gradient(#6b1a14, #3a0d0a); border:2px solid #c9a54a; box-shadow:0 8px 20px rgba(0,0,0,.6), inset 0 2px 0 rgba(255,255,255,.15);}
.slot-top{text-align:center; font:900 20px/1 var(--display); letter-spacing:.18em; color:#ffd24a; text-shadow:0 0 8px rgba(255,190,60,.6), 0 2px 0 #000; margin:2px 0 10px;}
.reels{display:grid; grid-template-columns:repeat(3,1fr); gap:8px; padding:8px; border-radius:8px; background:#0b0b0b; box-shadow:inset 0 4px 12px rgba(0,0,0,.9);}
.reel{height:92px; overflow:hidden; border-radius:6px; background:linear-gradient(#cfcfcf, #ffffff 30%, #ffffff 70%, #cfcfcf);}
.reel-strip{display:flex; flex-direction:column;}
.sym{height:92px; display:grid; place-items:center; flex:none;}
.sym svg{width:62px; height:62px;}
@keyframes reelspin{from{transform:translateY(calc(var(--len) * -92px));} to{transform:translateY(0);}}
.fx .reel-strip{animation:reelspin var(--dur) cubic-bezier(.12,.72,.18,1.02) both;}

/* dice */
.dice-table{padding:22px 10px 16px; border-radius:10px; text-align:center; background:radial-gradient(ellipse at 50% 30%, #1f5a37, #0e2c1b); box-shadow:inset 0 0 0 6px #3b2a14, inset 0 10px 30px rgba(0,0,0,.45);}
.dice{display:flex; justify-content:center; gap:18px;}
.die{width:58px; height:58px; padding:7px; border-radius:11px; display:grid; grid-template-columns:repeat(3,1fr); grid-template-rows:repeat(3,1fr);
  background:linear-gradient(145deg, #ffffff, #dcdcdc); box-shadow:0 5px 10px rgba(0,0,0,.55), inset 0 -3px 0 rgba(0,0,0,.12);}
.die i{display:block; width:11px; height:11px; margin:auto; border-radius:50%;}
.die i.on{background:#1a1a1a; box-shadow:inset 0 2px 2px rgba(255,255,255,.25);}
@keyframes tumble{0%{transform:translate(-140px,-70px) rotate(-540deg) scale(.8); opacity:0;} 55%{transform:translate(8px,4px) rotate(18deg) scale(1); opacity:1;}
  75%{transform:translate(-3px,-6px) rotate(-6deg);} 100%{transform:none;}}
.fx .die{animation:tumble .95s cubic-bezier(.2,.7,.3,1) both; animation-delay:calc(var(--i) * .12s);}

/* wheels (roulette, big six) */
.table-wrap{text-align:center;}
.wheel-wrap{margin:0 auto; width:min(100%, 320px);}
.wheel-svg{display:block; width:100%; height:auto; overflow:visible; filter:drop-shadow(0 8px 14px rgba(0,0,0,.6));}
.wheel{transform-box:fill-box; transform-origin:center; transform:rotate(var(--end));}
@keyframes wheelspin{from{transform:rotate(0deg);} to{transform:rotate(var(--end));}}
.fx .wheel{animation:wheelspin 4s cubic-bezier(.1,.62,.08,1) both;}
.rl-ball{display:inline-grid; place-items:center; width:46px; height:46px; margin-top:8px; border-radius:50%; font:800 18px/1 var(--display); color:#fff; border:2px solid #c9a54a;}
.rl-ball.red{background:#b3201b;} .rl-ball.black{background:#111;} .rl-ball.green{background:#1c7a3a;}

/* video poker */
.paytable{max-width:340px; margin:0 auto; font-size:14px;}
.paytable td,.paytable th{padding:3px 10px;}
.paytable tr.hit td{background:#4a3f1e; color:#ffe07a; font-weight:bold;}
.vp-card{position:relative; display:block; cursor:pointer;}
.vp-card input{position:absolute; opacity:0; pointer-events:none;}
.vp-held{position:absolute; left:0; right:0; top:-18px; text-align:center; font:800 11px/1 var(--display); letter-spacing:.12em; color:#ffe07a; opacity:0;}
.vp-card input:checked ~ .vp-held{opacity:1;}
.vp-card input:checked ~ .pc{transform:translateY(-6px); box-shadow:0 0 0 2px #d8ad2c, 0 6px 12px rgba(0,0,0,.5);}
.vp-hand{padding-top:16px;}

@media (max-width:520px){ .pc{width:50px; height:72px;} .pc-big{font-size:26px;} .pc-c{font-size:11px;} .bac-row{grid-template-columns:1fr;} .die{width:50px; height:50px;} }
@media (prefers-reduced-motion: reduce){ .fx .pc, .fx .reel-strip, .fx .die, .fx .wheel, .fx .reveal{animation:none !important;} }

/* ---------- friends, enemies and family ---------- */
.interact-who{text-align:center; margin:6px 0 10px;}
.interact-who .avatar{margin:0 auto 6px;}
.interact-who p{margin:0; font-weight:bold;}
.enemy-link .linkbtn{color:#ff6a5c;}
.name-history.kids summary{color:var(--brass);}
.name-history.kids ul{min-width:280px;}
.name-history.kids li{display:flex; align-items:center; gap:8px; white-space:nowrap; padding:3px 0;}
.name-history.kids li .btn{margin-left:auto;}

/* previous names: just a small arrow beside the name */
.name-history.names-only{margin-left:4px;}
.name-history.names-only summary::after{content:"\25BE"; font-size:14px; padding:0 3px;}
.name-history.names-only[open] summary::after{content:"\25B4";}
.name-history .nh-title{color:var(--ash); font-size:11px; letter-spacing:.06em; text-transform:uppercase; padding-bottom:4px;}


/* ---------- emoticons ---------- */
.emo{vertical-align:-4px; width:19px; height:19px; image-rendering:pixelated;}
.emo-bar{display:flex; flex-wrap:wrap; gap:2px; justify-content:center; margin:8px 0; padding:6px; background:#191919; border:1px solid #2c2c2c; border-radius:6px;}
.emo-btn{background:none; border:1px solid transparent; border-radius:4px; padding:2px; cursor:pointer; line-height:0;}
.emo-btn:hover,.emo-btn:focus-visible{border-color:var(--brass); background:#242424;}
.emo-btn img{display:block; image-rendering:pixelated;}

/* ---------- Street Talk feed: time and block left, writer and picture right ---------- */
.talk{display:grid; grid-template-columns:120px 1fr 190px; gap:10px; padding:10px 8px; border-top:1px solid #2b2b2b; align-items:start;}
.talk:first-child{border-top:0;}
.talk-l{display:flex; flex-direction:column; gap:4px; align-items:flex-start;}
.talk-time{color:#7fb2e6; font-size:14px; white-space:nowrap;}
.talk-likes{display:flex; align-items:center; gap:6px; margin-top:12px;}
.thumb{background:none; border:0; padding:0; font-size:22px; line-height:1; cursor:pointer; filter:grayscale(1) opacity(.55);}
.thumb:hover:not(:disabled),.thumb.on{filter:none;}
.thumb:disabled{cursor:default; filter:grayscale(1) opacity(.25);}
.talk-body{padding:6px 4px; word-break:break-word; align-self:center;}
/* Game News formatting (news_md) */
.news-md > :first-child{margin-top:0;} .news-md > :last-child{margin-bottom:0;}
.news-md p{margin:0 0 8px;}
.news-md .nh{font-family:var(--display); color:var(--brass); letter-spacing:.5px; margin:10px 0 4px;}
.news-md .nh1{font-size:20px;} .news-md .nh2{font-size:17px;} .news-md .nh3{font-size:15px;}
.news-md ul,.news-md ol{margin:2px 0 8px; padding-left:22px;} .news-md li{margin:2px 0;}
.news-md blockquote{margin:4px 0 8px; padding:4px 10px; border-left:3px solid var(--brass); background:rgba(255,255,255,.04); color:#ddd;}
.news-md hr{border:0; border-top:1px solid #3a3a3a; margin:10px 0;}
.news-md code{background:#111; border:1px solid #333; border-radius:3px; padding:0 4px; font-size:13px;}
.news-md a{color:var(--brass);} .news-md a:hover{text-decoration:underline;}
.md-help code{background:#111; border:1px solid #333; border-radius:3px; padding:0 3px; margin-right:2px;}
.talk-r{display:flex; flex-direction:column; align-items:center; gap:6px;}
.talk-who{text-align:center; font-size:14px;}   /* the name sits centred above the picture */
.talk-av .avatar{width:100px; height:100px; border-radius:4px; overflow:hidden; font-size:34px;}
.talk-av .avatar img{width:100%; height:100%; object-fit:cover; display:block;}
@media (max-width:640px){
  .talk{grid-template-columns:1fr 84px; gap:8px;}
  .talk-l{grid-row:1; grid-column:1; flex-direction:row; align-items:center; gap:10px;}
  .talk-likes{margin-top:0;}
  .talk-body{grid-row:2; grid-column:1;}
  .talk-r{grid-row:1 / span 2; grid-column:2;}
  .talk-av .avatar{width:76px; height:76px; font-size:26px;}
}

/* ---------- profile actions, laid out as a link grid ---------- */
.act-grid{display:grid; grid-template-columns:repeat(4, 1fr); gap:6px 10px; padding:6px 2px; text-align:center;}
.act-cell{padding:3px 0;}
.act-pop{display:inline-block;}
.act-pop summary{list-style:none; cursor:pointer; color:var(--gold); font-size:14px;}
.act-pop summary::-webkit-details-marker{display:none;}
.act-pop summary:hover{filter:brightness(1.35);}
.act-pop[open] summary{color:var(--brass);}
.act-pop-body{position:absolute; left:50%; transform:translateX(-50%); z-index:30; margin-top:6px; padding:10px;
  background:#1c1c1c; border:1px solid #3a3a3a; border-radius:6px; box-shadow:0 8px 20px rgba(0,0,0,.65); text-align:left; white-space:nowrap;}
.act-cell{position:relative;}
.admin-strip{display:flex; flex-wrap:wrap; gap:10px; align-items:center; justify-content:center; margin-top:10px; padding-top:8px; border-top:1px solid #3a2a2a;}
.admin-strip b{color:#c86a60; font-size:14px; letter-spacing:.08em; text-transform:uppercase;}
@media (max-width:560px){ .act-grid{grid-template-columns:repeat(2, 1fr);} .act-pop-body{position:static; transform:none; white-space:normal; margin-top:8px;} }

/* ---------- gang special bracket GIFs ---------- */
.bracket-preview{display:flex; flex-wrap:wrap; gap:6px; margin-top:8px; padding:6px; background:#191919; border:1px solid #2a2a2a; border-radius:4px;}
.bracket-preview img{image-rendering:pixelated;}

/* ---------- names and tags at 14px, with the bracket GIFs scaled to the same 14px height ---------- */
.gtag,.linkbtn.gtag,.uname,.plink,.gname,.linkbtn.gname,.linkbtn.plink{font-size:14px; line-height:1.25;}
.gang-card .gtag{font-size:14px;}
/* The tag becomes a flex row so the bracket GIFs centre against the text
   exactly, instead of depending on the font's baseline metrics. */
.gtag,.linkbtn.gtag{display:inline-flex; align-items:baseline; gap:1px; vertical-align:baseline;}   /* the tag's letters share the name's baseline, whatever the font */
.gtag .bracket-gif,.linkbtn.gtag .bracket-gif{align-self:center;}   /* bracket GIFs centre on the letters and don't set the line (an image would line up by its bottom edge) */
.bracket-gif{width:auto; height:14px; image-rendering:pixelated; flex:none; display:block;}
.bracket-gif.flip{transform:scaleX(-1);}

/* Gang tags are always bold, brackets included, wherever they appear.
   This sits last so it wins over .linkbtn's `font: inherit`, which resets weight. */
.gtag,.linkbtn.gtag,.gtag *,.linkbtn.gtag *{font-weight:700;}

/* ---------- Hall of Fame ---------- */
.fame-cats{display:flex; flex-wrap:wrap; justify-content:center; gap:2px 0; margin:2px 0; text-align:center;}
.fame-cats .fame-cat{color:var(--brass); font-size:14px; padding:2px 0;}
.fame-cats .fame-cat::after{content:" - "; color:#5a5a5a;}
.fame-cats .fame-cat:last-child::after{content:"";}
.fame-cats .fame-cat:hover{filter:brightness(1.35);}
.fame-cats .fame-cat.on{color:#fff; text-decoration:underline; text-underline-offset:3px;}
.fame-body{display:flex; gap:16px; align-items:flex-start; margin-top:10px;}
.fame-trophy{width:110px; height:165px; flex:none; margin-top:6px;}
.fame-list{flex:1; min-width:0; overflow-x:auto;}
.fame-table{width:100%; border-collapse:collapse;}
.fame-table th{text-align:left; padding:4px 8px; color:var(--brass); font-size:14px; border-bottom:1px solid var(--rule);}
.fame-table th.num,.fame-table td.num{text-align:right;}
.fame-table td{padding:3px 8px; font-size:14px; border-bottom:1px solid #262626;}
.fame-rank{color:var(--ash); white-space:nowrap; width:1%;}
.fame-rank.top{color:#fff; font-weight:700;}
.fame-val{color:var(--bone); white-space:nowrap;}
@media (max-width:560px){ .fame-trophy{display:none;} .fame-cats .fame-cat{font-size:14px;} }

/* ---------- awards of the hour, at the foot of the page ---------- */
.hour-bar{display:flex; flex-wrap:wrap; justify-content:center; gap:8px; margin:12px 0 0; padding:10px 10px 0;
  border:1px solid var(--rule); border-bottom:0; background:repeating-linear-gradient(135deg,#171717 0 2px,#1a1a1a 2px 4px);}
.hb{flex:0 1 210px; border:1px solid #2c2c2c; background:#141414; text-align:center;}
.hb-t{padding:4px 6px; font:700 14px/1.3 var(--display); letter-spacing:.03em; color:#fff;
  background:linear-gradient(#2a2a2a,#1c1c1c); border-bottom:1px solid #2c2c2c;}
.hb-w{padding:5px 6px; font-size:14px;}
.hb-v{padding:4px 6px; font-size:14px; color:var(--ash); border-top:1px solid #222; min-height:22px;}
.hour-pop{margin:0 0 18px; padding:8px 10px 10px; text-align:center; font-size:14px; color:var(--brass);
  border:1px solid var(--rule); border-top:0; background:repeating-linear-gradient(135deg,#171717 0 2px,#1a1a1a 2px 4px);}
.hour-pop b{color:#fff;}
@media (max-width:820px){ .hb{flex:0 1 46%;} }
@media (max-width:480px){ .hb{flex:0 1 100%;} }

/* ---------- hourly award placards on a profile ---------- */
.placards{display:flex; flex-wrap:wrap; gap:12px; justify-content:center; padding:6px 0;}
.placard{width:132px;}
.placard svg{display:block; width:100%; height:auto; filter:drop-shadow(0 3px 5px rgba(0,0,0,.6));}
.placard.none svg{filter:grayscale(.85) brightness(.5);}
.hb.hb-wait .hb-w,.hb.hb-wait .hb-v{opacity:.75;}

/* ---------- Mailbox: laid out like the original's Inbox and Message pages ---------- */
.mail-links{text-align:center; margin:2px 0 10px;}
.mail-links .linkbtn{margin:0 8px;}
.mail-bar{margin:6px 0;}
.btn.mail-del{background:#111; color:var(--blood); border:1px solid #444; border-radius:12px; padding:2px 10px; font-size:14px;}
table.mail-table th,table.mail-table td{vertical-align:middle;}
table.mail-table .mail-cb{width:1%; padding-right:4px;}
table.mail-table .mail-subj .linkbtn{color:var(--brass); text-align:left;}
table.mail-table tr.unread .mail-subj .linkbtn{font-weight:bold; color:#fff;}
table.mail-table .mail-date{white-space:nowrap;}
.mail-pager{text-align:center; margin:8px 0 2px;}
.mail-pager .linkbtn{margin:0 3px;}
.mail-head{display:flex; gap:16px; align-items:flex-start; justify-content:space-between; flex-wrap:wrap; margin:6px 0 10px;}
.mail-head .mail-kv{width:auto; flex:1 1 280px;}
.mail-kv td:first-child{width:90px;}
.mail-sender{display:flex; flex-direction:column; align-items:center; gap:4px; text-align:center;}
.mail-sender-name .dim{margin-right:6px;}
.mail-pic{display:flex; flex-direction:column; align-items:center; gap:4px;}
.mail-av{width:200px; height:200px; background:#0a0a0a; border:1px solid #3a3a3a; display:grid; place-items:center; font:800 72px/1 var(--display); color:#3a3a3a; overflow:hidden;}
.mail-av.has-img img{width:100%; height:100%; object-fit:contain; display:block;}
.mail-body-label{font-weight:bold; color:#fff; margin:6px 0 8px;}
.mail-body{white-space:normal; overflow-wrap:anywhere; line-height:1.55;}
.mail-form td{vertical-align:top; padding-bottom:6px;}
@media (max-width:560px){ .mail-av{width:140px; height:140px;} .mail-links .linkbtn{margin:0 4px;} table.mail-table .mail-date{white-space:normal;} }

/* unseen mail and events in the menu: [3] in green bold; unseen Game News posts end in a green NEW */
.menu-list .count.new,.menu-list button.active .count.new{color:var(--good); font-weight:bold;}
.news-new{color:var(--good); font-weight:bold; font-style:italic;}

/* The Eleven's portraits have see-through backgrounds: no frame or black box behind them */
.profile-av.cutout,.mail-av.cutout,.avatar.cutout,.talk-av .cutout{background:none; border:0; box-shadow:none;}

/* gun store and tailor: a picture beside each item that has art in assets/items/ */
.shop-item{display:flex; align-items:center; gap:10px;}
.shop-thumb{flex:none; width:56px; height:56px; object-fit:contain; display:inline-block;}   /* every picture in the same 56x56 box */

/* Point Shop: a heading row for each gear set in Special Gear */
table.gear-table tr.sg-set td{background:#1d1d1d; color:var(--brass); font-weight:bold; text-align:center; letter-spacing:.04em; padding:6px 8px;}

/* a red + after the name of anyone hospitalized or at 9 Health or less */
.hurt-mark{color:var(--blood); font-weight:bold; margin-left:2px;}

/* the Life of Crime logo image: header and login page */
.logo-img{display:block; height:112px; width:auto; max-width:100%; filter:drop-shadow(0 3px 6px rgba(0,0,0,.7));}
.logo.big .logo-img{height:auto; width:min(420px, 86vw);}
@media (max-width:980px){ .logo-img{height:92px;} }
@media (max-width:560px){ .logo-img{height:76px;} }

/* login page: forgot / reset forms, and "not confirmed" in Preferences */
.login .forgot{display:block; margin:10px 0 0; text-align:center; font-size:14px; color:var(--brass);}
.login .forgot:hover{filter:brightness(1.3);}
.login .card.solo{max-width:380px; margin:0 auto;}
.msg.good.login-msg{margin-bottom:16px;}
.hot-t{color:#ff5a4d; font-weight:bold;}

/* ---------- Black Market: centred add-points form and the one cheapest pile ---------- */
.bm-form{display:grid; grid-template-columns:auto auto; justify-content:center; align-items:center; gap:6px 10px; margin:6px 0 4px;}
.bm-form label{text-align:right; color:var(--bone);}
.bm-offer{gap:8px; align-items:center; flex-wrap:wrap; margin:14px 0 6px;}

/* ---------- header: avatar as tall as the name-to-Friends block; shorter stat bars on desktop ---------- */
@media (min-width:981px){
  .hd-id{align-items:stretch;}
  .hd-id .avatar{width:139px; height:auto; min-height:139px; align-self:stretch; font-size:72px;}   /* 139px = the height of the name, level, xp, money and Friends lines */
  .hd-bars{justify-self:end; grid-template-columns:minmax(210px,max-content);}
  .hd-bars .gauge-label{gap:12px;}
  .hd-bars .hd-icons{width:0; min-width:100%; flex-wrap:nowrap; justify-content:flex-end;}   /* the icon row doesn't widen the bars; it lines up on the right */
}

/* ---------- Duels ---------- */
.duel-rules{margin:6px 0 4px; padding-left:18px;} .duel-rules li{margin:3px 0;}
.duel-clock{color:var(--gold); font-weight:bold; white-space:nowrap;}
.duel-score{font-size:18px;}
.duel-picks{gap:10px; margin:10px 0;}
.duel-picks .btn{min-width:90px;}
.duel-det summary{cursor:pointer; color:var(--bone);}
.duel-det div{margin:2px 0 0 12px; color:var(--ash);}
.pcard{display:inline-block; min-width:30px; padding:1px 5px; margin:0 2px; text-align:center; font-weight:bold; color:#111; background:#f1ede4; border:1px solid #999; border-radius:3px;}
.pcard.red{color:#b01010;}
.liar-dice{display:inline-flex; gap:5px; vertical-align:middle; margin:0 4px;}
.liar-dice .die{width:34px; height:34px; padding:4px; border-radius:7px;}
.liar-dice .die i{width:7px; height:7px;}
.ldie-hidden{display:inline-grid; place-items:center; width:34px; height:34px; border-radius:7px; background:#222; border:1px solid #444; color:var(--ash); font-weight:bold;}
.safe-d{display:inline-block; min-width:44px; margin:0 3px; font-family:monospace; font-size:16px;}
.wire{display:inline-block; padding:6px 14px; border:2px solid; border-radius:3px; font-weight:bold; background:#141414;}
.wire.w-red{color:#e04848; border-color:#e04848;} .wire.w-blue{color:#4e8cff; border-color:#4e8cff;} .wire.w-green{color:#3fbf5a; border-color:#3fbf5a;}
.wire.w-yellow{color:#f0d040; border-color:#f0d040;} .wire.w-white{color:#eee; border-color:#eee;}
.wire.cut{opacity:.35; text-decoration:line-through;}
.liar-row{display:flex; align-items:center; justify-content:center; gap:6px; flex-wrap:wrap; margin:8px 0;}
.hosp-note{color:var(--blood); text-align:center; margin:8px 0 2px;}
/* ---------- banned players and the Criminals list ---------- */
.uname.banned{color:#6b4423; font-weight:bold;}              /* dark brown: not in the color picker, so only banned players wear it */
.banned-t{color:#8a5a2e; font-weight:bold;}
.g-male{color:#4e8cff;} .g-female{color:#ff6fb3;} .g-unknown{color:#fff;}
.sp-single{color:#3fbf5a;} .sp-married{color:#e04848;}
.players-nav .linkbtn{margin:0 2px;}

/* ================= name effects (admin-granted; see inc/namefx.php) ================= */
.fx{position:relative; display:inline-block; isolation:isolate; --fx:#ffc61a;}
.fx .fxl,.fx .fxw{position:relative; display:inline;}
.fx .uname.fusion .fxl,.fx .uname.fusion .fxw{background-image:inherit; -webkit-background-clip:text; background-clip:text; color:transparent;}   /* gradient names keep their gradient on wrapped letters */
.hd-name{overflow:visible; padding-top:5px;}              /* room above the name for crowns, halos and particles */
.rumor-who{overflow:visible; padding-top:4px;}
/* 1 Crown: resting on the first letter */
.fx-crown .fxl::before{content:""; position:absolute; left:50%; top:-1px; width:8px; height:5.5px; transform:translateX(-50%) rotate(-10deg);
  background:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2016%22%3E%3Cdefs%3E%3ClinearGradient%20id%3D%22g%22%20x1%3D%220%22%20y1%3D%220%22%20x2%3D%220%22%20y2%3D%221%22%3E%3Cstop%20offset%3D%220%22%20stop-color%3D%22%23fff3b0%22%2F%3E%3Cstop%20offset%3D%22.45%22%20stop-color%3D%22%23f2c230%22%2F%3E%3Cstop%20offset%3D%221%22%20stop-color%3D%22%23a86f06%22%2F%3E%3C%2FlinearGradient%3E%3C%2Fdefs%3E%3Cpath%20d%3D%22M2%2014%20L1%204%20L7%208.5%20L12%201.5%20L17%208.5%20L23%204%20L22%2014%20Z%22%20fill%3D%22url%28%23g%29%22%20stroke%3D%22%235a3a00%22%20stroke-width%3D%221%22%20stroke-linejoin%3D%22round%22%2F%3E%3Ccircle%20cx%3D%221%22%20cy%3D%224%22%20r%3D%221.6%22%20fill%3D%22%23ffe27a%22%20stroke%3D%22%235a3a00%22%20stroke-width%3D%22.7%22%2F%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%221.6%22%20r%3D%221.6%22%20fill%3D%22%23ffe27a%22%20stroke%3D%22%235a3a00%22%20stroke-width%3D%22.7%22%2F%3E%3Ccircle%20cx%3D%2223%22%20cy%3D%224%22%20r%3D%221.6%22%20fill%3D%22%23ffe27a%22%20stroke%3D%22%235a3a00%22%20stroke-width%3D%22.7%22%2F%3E%3Crect%20x%3D%222%22%20y%3D%2212%22%20width%3D%2220%22%20height%3D%222.4%22%20rx%3D%221%22%20fill%3D%22%23c98a0c%22%20stroke%3D%22%235a3a00%22%20stroke-width%3D%22.6%22%2F%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2210%22%20r%3D%221.3%22%20fill%3D%22%23d6242a%22%2F%3E%3C%2Fsvg%3E") no-repeat center/contain; pointer-events:none;}
/* 2 Halo: a glowing ring floating over the first letter */
.fx-halo .fxl::before{content:""; position:absolute; left:50%; top:-3px; width:8px; height:2.5px; border:1.5px solid var(--fx); border-radius:50%;
  transform:translateX(-50%); box-shadow:0 0 4px var(--fx), inset 0 0 2px var(--fx); animation:fx-float 2.6s ease-in-out infinite; pointer-events:none;}
@keyframes fx-float{50%{transform:translateX(-50%) translateY(-1.5px);}}
/* 3 Glow */
.fx-glow{filter:drop-shadow(0 0 2px var(--fx)) drop-shadow(0 0 5px var(--fx));}
/* 4 Pulse */
.fx-pulse{animation:fx-pulse 2.2s ease-in-out infinite;}
@keyframes fx-pulse{0%,100%{filter:drop-shadow(0 0 1px var(--fx));} 50%{filter:drop-shadow(0 0 4px var(--fx)) drop-shadow(0 0 8px var(--fx));}}
/* 5 Neon sign: bright glow that flickers now and then */
.fx-neon{filter:drop-shadow(0 0 1px #fff) drop-shadow(0 0 3px var(--fx)) drop-shadow(0 0 7px var(--fx)); animation:fx-neon 5s linear infinite;}
@keyframes fx-neon{0%,18%,22%,25%,53%,57%,100%{opacity:1;} 20%,24%,55%{opacity:.35;}}
/* shared: small particles drawn by ::before / ::after */
.fx-sparkle::before,.fx-sparkle::after,.fx-embers::before,.fx-embers::after,.fx-snow::before,.fx-snow::after,.fx-orbit::before{
  content:""; position:absolute; pointer-events:none; z-index:2;}
/* 6 Sparkle: two four-point stars twinkling */
.fx-sparkle::before,.fx-sparkle::after{width:7px; height:7px; background:var(--fx); clip-path:polygon(50% 0,62% 38%,100% 50%,62% 62%,50% 100%,38% 62%,0 50%,38% 38%);
  filter:drop-shadow(0 0 2px var(--fx)); animation:fx-twinkle 1.8s ease-in-out infinite;}
.fx-sparkle::before{left:-4px; top:-3px;}
.fx-sparkle::after{right:-5px; bottom:-2px; animation-delay:.9s;}
@keyframes fx-twinkle{0%,100%{transform:scale(.2) rotate(0); opacity:0;} 50%{transform:scale(1) rotate(45deg); opacity:1;}}
/* 7 Embers: sparks drifting up */
.fx-embers::before,.fx-embers::after{width:3px; height:3px; border-radius:50%; background:var(--fx); box-shadow:0 0 4px var(--fx); bottom:2px; animation:fx-rise 2.4s ease-out infinite;}
.fx-embers::before{left:22%;}
.fx-embers::after{left:68%; animation-delay:1.2s; animation-duration:2s;}
@keyframes fx-rise{0%{transform:translate(0,0) scale(1); opacity:0;} 15%{opacity:1;} 100%{transform:translate(4px,-18px) scale(.3); opacity:0;}}
/* 8 Snowfall */
.fx-snow::before,.fx-snow::after{width:3px; height:3px; border-radius:50%; background:var(--fx); top:-6px; animation:fx-fall 3.2s linear infinite;}
.fx-snow::before{left:15%;}
.fx-snow::after{left:75%; animation-delay:1.6s;}
@keyframes fx-fall{0%{transform:translate(0,0); opacity:0;} 15%{opacity:1;} 50%{transform:translate(3px,12px);} 100%{transform:translate(-2px,26px); opacity:0;}}
/* 9 Rainbow: the whole name cycles through the colors */
.fx-rainbow .uname{background:linear-gradient(90deg,#ff4d4d,#ffa64d,#ffe24d,#5dff6b,#4dd2ff,#6b6bff,#d44dff,#ff4d4d) 0 0/200% 100% !important;
  -webkit-background-clip:text !important; background-clip:text !important; color:transparent !important; animation:fx-rainbow 3s linear infinite;}
@keyframes fx-rainbow{to{background-position:200% 0;}}
/* 10 Shimmer: a band of light (a colored copy of the name, masked to a moving strip) sweeping across the letters */
.fx-shimmer .uname::after{content:attr(data-t); position:absolute; left:0; top:0; white-space:nowrap; color:var(--fx); text-shadow:0 0 3px var(--fx), 0 0 7px var(--fx); pointer-events:none;
  -webkit-mask-image:linear-gradient(100deg,transparent 42%,#000 50%,transparent 58%); mask-image:linear-gradient(100deg,transparent 42%,#000 50%,transparent 58%);
  -webkit-mask-size:300% 100%; mask-size:300% 100%; animation:fx-shine 2.8s ease-in-out infinite;}
@keyframes fx-shine{0%{-webkit-mask-position:100% 0; mask-position:100% 0;} 60%,100%{-webkit-mask-position:0 0; mask-position:0 0;}}
/* 11 Glitch: red and cyan copies that jitter every few seconds */
.fx-drip .uname,.fx-shimmer .uname,.fx-glitch .uname{position:relative;}
.fx-glitch .uname::before,.fx-glitch .uname::after{content:attr(data-t); position:absolute; left:0; top:0; opacity:0; pointer-events:none; white-space:nowrap;}
.fx-glitch .uname::before{color:#ff2a4d; animation:fx-glitch-a 4s steps(1) infinite;}
.fx-glitch .uname::after{color:#29f3ff; animation:fx-glitch-b 4s steps(1) infinite;}
@keyframes fx-glitch-a{0%,86%,100%{opacity:0; transform:none;} 88%{opacity:.8; transform:translate(-2px,0); clip-path:inset(0 0 55% 0);} 91%{opacity:.8; transform:translate(1px,0); clip-path:inset(45% 0 0 0);} 94%{opacity:0;}}
@keyframes fx-glitch-b{0%,86%,100%{opacity:0; transform:none;} 88%{opacity:.8; transform:translate(2px,0); clip-path:inset(50% 0 0 0);} 91%{opacity:.8; transform:translate(-1px,0); clip-path:inset(0 0 40% 0);} 94%{opacity:0;}}
/* 12 Aura: a colored cloud of light behind the name */
.fx-aura::before{content:""; position:absolute; inset:-3px -8px; z-index:-1; border-radius:50%; background:radial-gradient(ellipse at center,var(--fx) 0%,transparent 70%);
  opacity:.55; filter:blur(2px); animation:fx-aura 3s ease-in-out infinite; pointer-events:none;}
@keyframes fx-aura{50%{opacity:.85; transform:scale(1.08);}}
/* 13 Orbit: a spark circling the name */
.fx-orbit::before{width:4px; height:4px; border-radius:50%; background:var(--fx); box-shadow:0 0 5px 1px var(--fx); animation:fx-orbit 3s linear infinite;}
@keyframes fx-orbit{0%{left:-5px; top:50%; opacity:1; z-index:2;} 25%{left:50%; top:-5px;} 50%{left:calc(100% + 2px); top:50%; opacity:1;} 51%{opacity:.35; z-index:-1;}
  75%{left:50%; top:calc(100% + 1px);} 99%{opacity:.35;} 100%{left:-5px; top:50%; opacity:1;}}
/* 14 Wave: letters bob one after another */
.fx-wave .fxw{display:inline-block; white-space:pre; animation:fx-wave 1.6s ease-in-out infinite; animation-delay:calc(var(--i) * .09s);}
@keyframes fx-wave{0%,60%,100%{transform:translateY(0);} 30%{transform:translateY(-2.5px);}}
/* 15 Flowing line underneath */
.fx-underline::after{content:""; position:absolute; left:0; right:0; bottom:-1px; height:2px; border-radius:2px;
  background:linear-gradient(90deg,transparent,var(--fx),transparent) 0 0/50% 100% repeat-x; box-shadow:0 0 4px var(--fx); animation:fx-flow 1.8s linear infinite; pointer-events:none;}
@keyframes fx-flow{to{background-position:200% 0;}}
/* 16 Blood drip: an uneven coat of blood along the tops of the letters, with runs of different lengths
   hanging down, streaks running from the longest ones and drops falling off */
.fx-drip .uname::before{content:attr(data-t); position:absolute; left:0; top:0; white-space:nowrap; color:var(--fx); pointer-events:none; z-index:1;
  -webkit-mask-image:linear-gradient(to bottom,#000 30%,transparent 35%),radial-gradient(ellipse 7% 16% at 5% 30%,#000 72%,transparent 76%),radial-gradient(ellipse 4% 30% at 14% 28%,#000 72%,transparent 76%),radial-gradient(ellipse 8% 14% at 24% 31%,#000 72%,transparent 76%),radial-gradient(ellipse 4% 36% at 35% 27%,#000 72%,transparent 76%),radial-gradient(ellipse 9% 12% at 46% 31%,#000 72%,transparent 76%),radial-gradient(ellipse 5% 26% at 57% 28%,#000 72%,transparent 76%),radial-gradient(ellipse 8% 15% at 68% 30%,#000 72%,transparent 76%),radial-gradient(ellipse 4% 34% at 79% 27%,#000 72%,transparent 76%),radial-gradient(ellipse 7% 17% at 90% 30%,#000 72%,transparent 76%); mask-image:linear-gradient(to bottom,#000 30%,transparent 35%),radial-gradient(ellipse 7% 16% at 5% 30%,#000 72%,transparent 76%),radial-gradient(ellipse 4% 30% at 14% 28%,#000 72%,transparent 76%),radial-gradient(ellipse 8% 14% at 24% 31%,#000 72%,transparent 76%),radial-gradient(ellipse 4% 36% at 35% 27%,#000 72%,transparent 76%),radial-gradient(ellipse 9% 12% at 46% 31%,#000 72%,transparent 76%),radial-gradient(ellipse 5% 26% at 57% 28%,#000 72%,transparent 76%),radial-gradient(ellipse 8% 15% at 68% 30%,#000 72%,transparent 76%),radial-gradient(ellipse 4% 34% at 79% 27%,#000 72%,transparent 76%),radial-gradient(ellipse 7% 17% at 90% 30%,#000 72%,transparent 76%);}
.fx-drip .fxp{top:40%; width:2px; height:0; background:var(--fx); border-radius:0 0 2px 2px;
  animation:fx-bleed calc(3s + var(--i) * .7s) ease-in infinite; animation-delay:calc(var(--i) * -1.3s);}
.fx-drip .fxp:nth-child(2){left:14%; top:52%;} .fx-drip .fxp:nth-child(3){left:35%; top:56%;} .fx-drip .fxp:nth-child(4){left:79%; top:55%;}
.fx-drip .fxp:nth-child(5){left:57%; top:50%;} .fx-drip .fxp:nth-child(6){left:90%; top:42%;}
.fx-drip .fxp::after{content:""; position:absolute; left:-.5px; top:100%; width:3px; height:4px; background:var(--fx);
  border-radius:50% 50% 50% 50% / 40% 40% 60% 60%; opacity:0; animation:inherit; animation-name:fx-bleed-drop;}
@keyframes fx-bleed{0%{height:0; opacity:1;} 55%{height:8px;} 90%{height:8px; opacity:1;} 100%{height:8px; opacity:0;}}
@keyframes fx-bleed-drop{0%,55%{opacity:0; transform:translateY(-2px);} 60%{opacity:1; transform:translateY(0);} 90%{opacity:1; transform:translateY(10px);} 100%{opacity:0; transform:translateY(12px);}}
/* particles: tiny <i class="fxp"> pieces added to the name for these effects */
.fx .fxp{position:absolute; pointer-events:none; z-index:2; font-style:normal; font-weight:bold; line-height:1;}
/* 17 Hearts floating up */
.fx-hearts .fxp{left:calc(var(--i) * 22% - 4%); bottom:0; font-size:8px; color:var(--fx); animation:fx-heart 2.8s ease-in infinite; animation-delay:calc(var(--i) * -.56s);}
.fx-hearts .fxp::before{content:"\2665\FE0E";}
.fx-hearts .fxp:nth-child(odd){animation-name:fx-heart-b;}
@keyframes fx-heart{0%{transform:translate(0,0) scale(.4); opacity:0;} 20%{opacity:1;} 100%{transform:translate(-4px,-20px) scale(1.1); opacity:0;}}
@keyframes fx-heart-b{0%{transform:translate(0,0) scale(.4); opacity:0;} 20%{opacity:1;} 100%{transform:translate(4px,-18px) scale(.9); opacity:0;}}
/* 18 Money shower: bills and dollar signs raining down */
.fx-money .fxp{left:calc(var(--i) * 18% - 4%); top:-10px; animation:fx-money calc(2s + var(--i) * .15s) linear infinite; animation-delay:calc(var(--i) * -.4s);}
.fx-money .fxp:nth-child(odd)::before{content:"$"; font-size:9px; color:var(--fx); text-shadow:0 0 2px #000;}
.fx-money .fxp:nth-child(even)::before{content:""; display:block; width:8px; height:4px; background:var(--fx); border:1px solid rgba(0,0,0,.45); box-shadow:inset 0 0 0 1px rgba(255,255,255,.25);}
@keyframes fx-money{0%{transform:translate(0,0) rotate(0); opacity:0;} 12%{opacity:1;} 50%{transform:translate(3px,12px) rotate(150deg);} 85%{opacity:1;} 100%{transform:translate(-2px,28px) rotate(320deg); opacity:0;}}
/* 19 Bling: diamonds flashing */
.fx-bling .fxp{font-size:7px; color:var(--fx); text-shadow:0 0 3px var(--fx), 0 0 6px #fff; animation:fx-bling 2.4s ease-in-out infinite; animation-delay:calc(var(--i) * -.6s);}
.fx-bling .fxp::before{content:"\25C6";}
.fx-bling .fxp:nth-child(1){left:-6px; top:-4px;} .fx-bling .fxp:nth-child(2){left:35%; top:-7px;} .fx-bling .fxp:nth-child(3){right:-7px; top:2px;} .fx-bling .fxp:nth-child(4){left:65%; bottom:-6px;}
@keyframes fx-bling{0%,100%{transform:scale(.2) rotate(0); opacity:0;} 40%{transform:scale(1.1) rotate(20deg); opacity:1;} 60%{transform:scale(.9) rotate(-10deg); opacity:.9;}}
/* 20 Shell casings: brass ejecting off the end and tumbling down */
.fx-casings .fxp{right:-2px; top:35%; width:2.5px; height:5.5px; border-radius:1px 1px 0 0; background:linear-gradient(90deg,#8a5d12,#f0c55a 45%,#a8761c);
  animation:fx-eject 1.9s cubic-bezier(.3,.6,.6,1) infinite; animation-delay:calc(var(--i) * -.48s);}
@keyframes fx-eject{0%{transform:translate(0,0) rotate(0); opacity:0;} 8%{opacity:1;} 35%{transform:translate(6px,-9px) rotate(260deg);} 85%{opacity:1;} 100%{transform:translate(12px,16px) rotate(620deg); opacity:0;}}
/* 21 Cigar smoke curling up off the end */
.fx-smoke .fxp{right:-4px; top:2px; width:6px; height:6px; border-radius:50%; background:radial-gradient(circle,var(--fx) 0%,transparent 70%); filter:blur(.6px);
  animation:fx-smoke 3.2s ease-out infinite; animation-delay:calc(var(--i) * -.8s);}
@keyframes fx-smoke{0%{transform:translate(0,0) scale(.4); opacity:0;} 15%{opacity:.8;} 50%{transform:translate(-3px,-9px) scale(1.4);} 100%{transform:translate(3px,-20px) scale(2.4); opacity:0;}}
/* 22 Rose petals drifting down */
.fx-petals .fxp{left:calc(var(--i) * 22% - 3%); top:-8px; width:4px; height:5px; background:var(--fx); border-radius:0 70% 0 70%; box-shadow:inset -1px -1px 0 rgba(0,0,0,.25);
  animation:fx-petal calc(3s + var(--i) * .3s) ease-in-out infinite; animation-delay:calc(var(--i) * -.7s);}
@keyframes fx-petal{0%{transform:translate(0,0) rotate(0); opacity:0;} 12%{opacity:1;} 35%{transform:translate(4px,8px) rotate(90deg);} 65%{transform:translate(-3px,16px) rotate(200deg);} 88%{opacity:1;} 100%{transform:translate(2px,26px) rotate(300deg); opacity:0;}}
/* 23 Confetti tumbling down */
.fx-confetti .fxp{left:calc(var(--i) * 15% - 3%); top:-8px; width:3px; height:5px; animation:fx-confetti calc(1.8s + var(--i) * .12s) linear infinite; animation-delay:calc(var(--i) * -.3s);}
.fx-confetti .fxp:nth-child(7n+1){background:#ff4d4d;} .fx-confetti .fxp:nth-child(7n+2){background:#ffd23f;} .fx-confetti .fxp:nth-child(7n+3){background:#3fd2ff;}
.fx-confetti .fxp:nth-child(7n+4){background:#7dff5a;} .fx-confetti .fxp:nth-child(7n+5){background:#d65aff;} .fx-confetti .fxp:nth-child(7n+6){background:#ff8a3f;} .fx-confetti .fxp:nth-child(7n){background:#fff;}
@keyframes fx-confetti{0%{transform:translate(0,0) rotateX(0) rotateZ(0); opacity:0;} 10%{opacity:1;} 100%{transform:translate(3px,28px) rotateX(720deg) rotateZ(240deg); opacity:0;}}
/* 24 Music notes floating up */
.fx-notes .fxp{left:calc(var(--i) * 28%); bottom:2px; font-size:9px; color:var(--fx); animation:fx-note 3s ease-out infinite; animation-delay:calc(var(--i) * -.75s);}
.fx-notes .fxp:nth-child(odd)::before{content:"\266A";} .fx-notes .fxp:nth-child(even)::before{content:"\266B";}
@keyframes fx-note{0%{transform:translate(0,0) rotate(-10deg); opacity:0;} 15%{opacity:1;} 50%{transform:translate(4px,-10px) rotate(10deg);} 100%{transform:translate(-2px,-22px) rotate(-10deg); opacity:0;}}
/* 25 Tester: green terminal text with a flicker and a blinking cursor */
.fx-tester .uname{background:none !important; color:var(--fx) !important; font-family:'Courier New',Courier,monospace; letter-spacing:.3px;
  text-shadow:0 0 2px var(--fx), 0 0 6px color-mix(in srgb,var(--fx) 60%,transparent); animation:fx-term 5s steps(1) infinite;}
.fx-tester::after{content:""; display:inline-block; width:.5em; height:.85em; margin:0 2px; vertical-align:-1px; background:var(--fx); box-shadow:0 0 4px var(--fx); animation:fx-cursor 1.05s steps(1) infinite; pointer-events:none;}
@keyframes fx-term{0%,100%{opacity:1; transform:none;} 62%{opacity:.55;} 63%{opacity:1;} 88%{opacity:.7; transform:translateX(1px);} 89%{opacity:1; transform:none;}}
@keyframes fx-cursor{0%{opacity:1;} 50%{opacity:0;}}
/* 26 Siren: the name flashes red and blue like police lights */
.fx-siren{padding:0 8px; animation:fx-siren 1s steps(1) infinite;}
.fx-siren::before,.fx-siren::after{content:""; position:absolute; top:50%; width:5px; height:5px; margin-top:-2.5px; border-radius:50%; pointer-events:none; z-index:2;}
.fx-siren::before{left:0; background:#ff2a2a; animation:fx-siren-r 1s steps(1) infinite;}
.fx-siren::after{right:0; background:#2f6bff; animation:fx-siren-b 1s steps(1) infinite;}
@keyframes fx-siren{0%{filter:drop-shadow(0 0 2px #ff2020) drop-shadow(0 0 6px #ff2020);} 50%{filter:drop-shadow(0 0 2px #2a6bff) drop-shadow(0 0 6px #2a6bff);}}
@keyframes fx-siren-r{0%{opacity:1; box-shadow:0 0 6px 2px #ff2020;} 50%{opacity:.3; box-shadow:none;}}
@keyframes fx-siren-b{0%{opacity:.3; box-shadow:none;} 50%{opacity:1; box-shadow:0 0 6px 2px #2a6bff;}}
/* 27 Champion: the name in the winning color with a shine and a small trophy */
.fx-champion{padding-right:11px; filter:drop-shadow(0 0 1px rgba(0,0,0,.9)) drop-shadow(0 0 3px color-mix(in srgb,var(--fx) 70%,transparent));}
.fx-champion .uname{background:linear-gradient(100deg,var(--fx) 0 40%,#fff 50%,var(--fx) 60% 100%) 0 0/300% 100% !important;
  -webkit-background-clip:text !important; background-clip:text !important; color:transparent !important; animation:fx-champ 3.2s ease-in-out infinite;}
.fx-champion .uname .fxl,.fx-champion .uname .fxw{background:inherit; -webkit-background-clip:text; background-clip:text;}
.fx-champion::after{content:""; position:absolute; right:0; top:50%; width:10px; height:11px; margin-top:-6px; pointer-events:none; background:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2026%22%20stroke-linejoin%3D%22round%22%3E%3Cdefs%3E%3ClinearGradient%20id%3D%22g%22%20x1%3D%220%22%20y1%3D%220%22%20x2%3D%220%22%20y2%3D%221%22%3E%3Cstop%20offset%3D%220%22%20stop-color%3D%22%23fff5bf%22%2F%3E%3Cstop%20offset%3D%22.45%22%20stop-color%3D%22%23f2c230%22%2F%3E%3Cstop%20offset%3D%221%22%20stop-color%3D%22%239c6404%22%2F%3E%3C%2FlinearGradient%3E%3C%2Fdefs%3E%3Cpath%20d%3D%22M6%203h12v4c0%205-3%208-6%208s-6-3-6-8z%22%20fill%3D%22url%28%23g%29%22%20stroke%3D%22%234a2f00%22%20stroke-width%3D%221.3%22%2F%3E%3Cpath%20d%3D%22M6%205H2c0%204%202%206%205%206M18%205h4c0%204-2%206-5%206%22%20fill%3D%22none%22%20stroke%3D%22%234a2f00%22%20stroke-width%3D%221.8%22%2F%3E%3Cpath%20d%3D%22M6%205H2c0%204%202%206%205%206M18%205h4c0%204-2%206-5%206%22%20fill%3D%22none%22%20stroke%3D%22%23f2c230%22%20stroke-width%3D%22.8%22%2F%3E%3Cpath%20d%3D%22M10%2015h4v4h-4z%22%20fill%3D%22%23c98a0c%22%20stroke%3D%22%234a2f00%22%20stroke-width%3D%221%22%2F%3E%3Cpath%20d%3D%22M6%2019h12v5H6z%22%20fill%3D%22url%28%23g%29%22%20stroke%3D%22%234a2f00%22%20stroke-width%3D%221.3%22%2F%3E%3C%2Fsvg%3E") no-repeat center/contain; animation:fx-trophy 2.6s ease-in-out infinite;}
@keyframes fx-champ{0%{background-position:100% 0;} 60%,100%{background-position:0 0;}}
@keyframes fx-trophy{0%,80%,100%{transform:rotate(0);} 88%{transform:rotate(-12deg) scale(1.15);} 94%{transform:rotate(8deg);}}
/* ---- build 187: name effects that match the award and holiday frames (particles, glows and things wrapped round the letters) ---- */
/* shared: metallic lettering with a shine sweeping across (Alpha, Beta, Founder, Mardi Gras, St. Patrick's, Easter) */
.fx-alpha .uname,.fx-beta .uname,.fx-founder .uname,.fx-admin .uname,.fx-moderator .uname,.fx-developer .uname,.fx-mardigras .uname,.fx-stpatricks .uname,.fx-easter .uname{background:var(--g) 0 0/260% 100% !important;
  -webkit-background-clip:text !important; background-clip:text !important; color:transparent !important; animation:fx-metal var(--sd,3.6s) ease-in-out infinite;}
.fx-alpha .uname .fxl,.fx-beta .uname .fxl,.fx-founder .uname .fxl,.fx-admin .uname .fxl,.fx-moderator .uname .fxl,.fx-developer .uname .fxl,.fx-mardigras .uname .fxl,.fx-stpatricks .uname .fxl,.fx-easter .uname .fxl,
.fx-alpha .uname .fxw,.fx-beta .uname .fxw,.fx-founder .uname .fxw,.fx-admin .uname .fxw,.fx-moderator .uname .fxw,.fx-developer .uname .fxw,.fx-mardigras .uname .fxw,.fx-stpatricks .uname .fxw,.fx-easter .uname .fxw{background:inherit; -webkit-background-clip:text; background-clip:text; color:transparent;}
.fx-alpha,.fx-beta,.fx-mardigras,.fx-stpatricks,.fx-easter{filter:drop-shadow(0 1px 0 rgba(0,0,0,.85));}
@keyframes fx-metal{0%{background-position:100% 0;} 55%,100%{background-position:0 0;}}
/* shared: a little four-point glint */
.fx-alpha .fxp,.fx-beta .fxp,.fx-bigspender .fxp:nth-child(2){width:6px; height:6px; background:#fff; clip-path:polygon(50% 0,58% 42%,100% 50%,58% 58%,50% 100%,42% 58%,0 50%,42% 42%);
  filter:drop-shadow(0 0 2px var(--gl,#ffe38a)); animation:fx-twinkle 2.4s ease-in-out infinite; animation-delay:calc(var(--i) * -1.1s);}
.fx-alpha .fxp:nth-child(2),.fx-beta .fxp:nth-child(2){left:-4px; top:-3px;}
.fx-alpha .fxp:nth-child(3),.fx-beta .fxp:nth-child(3){right:-3px; bottom:-2px;}
/* shared: particles floating up past the name, like Hearts */
.fx-founder .fxp,.fx-admin .fxp,.fx-moderator .fxp,.fx-developer .fxp,.fx-kingmaker .fxp,.fx-stpatricks .fxp,.fx-lastman .fxp{bottom:0; left:calc(var(--i) * 30% + 6%); animation:fx-heart var(--d,3s) ease-in infinite; animation-delay:calc(var(--i) * -1s);}
.fx-founder .fxp:nth-child(odd),.fx-admin .fxp:nth-child(odd),.fx-moderator .fxp:nth-child(odd),.fx-developer .fxp:nth-child(odd),.fx-kingmaker .fxp:nth-child(odd),.fx-stpatricks .fxp:nth-child(odd),.fx-lastman .fxp:nth-child(odd){animation-name:fx-heart-b; --d:3.6s;}
/* shared: a vine, string of lights or strand of beads wrapped round the letters - one layer behind the name, and the half of each loop that crosses in front */
.fx-rosevine .uname,.fx-christmas .uname,.fx-mardigras .uname{position:relative;}
.fx-rosevine .uname::before,.fx-rosevine .uname::after,.fx-christmas .uname::before,.fx-christmas .uname::after,.fx-mardigras .uname::before,.fx-mardigras .uname::after{
  content:""; position:absolute; left:-3px; right:-3px; top:50%; height:12px; margin-top:-6px; pointer-events:none; background:var(--wrap) 0 0/48px 12px repeat-x;}
.fx-rosevine .uname::before,.fx-christmas .uname::before,.fx-mardigras .uname::before{z-index:-1;}
.fx-rosevine .uname::after,.fx-christmas .uname::after,.fx-mardigras .uname::after{z-index:1;
  -webkit-mask:repeating-linear-gradient(90deg,transparent 0 6px,#000 6px 18px,transparent 18px 24px); mask:repeating-linear-gradient(90deg,transparent 0 6px,#000 6px 18px,transparent 18px 24px);}

/* Alpha Tester: gold lettering with a shine and two sparkles */
.fx-alpha{--g:linear-gradient(100deg,#8a5d12 0%,#f7d774 18%,#b8861e 34%,#fff6d0 46%,#e0b441 58%,#a8761c 76%,#f7d774 100%);}
/* Beta Tester: dull pewter lettering with a softer shine and faint sparkles, so it shines less than Developer */
.fx-beta{--g:linear-gradient(100deg,#474d53 0%,#a3abb2 18%,#697279 34%,#c9cfd4 46%,#949ca3 58%,#5a6168 76%,#a3abb2 100%); --gl:rgba(170,180,190,.5); --sd:5.5s;}
.fx-beta .fxp{width:4px; height:4px;}

/* Founder: polished brass lettering with a warm glow, and specks of gold dust rising off it */
.fx-founder{--g:linear-gradient(100deg,#6e4a18 0%,#e5c27d 20%,#9a6f28 38%,#fff1c9 48%,#c79a4b 60%,#7a5520 80%,#e5c27d 100%); --sd:5s; animation:fx-brass 4s ease-in-out infinite;}
.fx-founder .fxp{width:2px; height:2px; border-radius:50%; background:#ffe7a8; box-shadow:0 0 3px 1px rgba(229,194,125,.8);}
@keyframes fx-brass{0%,100%{filter:drop-shadow(0 1px 0 rgba(0,0,0,.85)) drop-shadow(0 0 1px rgba(229,194,125,.3));} 50%{filter:drop-shadow(0 1px 0 rgba(0,0,0,.85)) drop-shadow(0 0 4px rgba(229,194,125,.65));}}
/* Admin, Moderator and Developer: the Founder treatment (metallic lettering with a pulsing glow and specks rising off it)
   in the colors of their frames - deep red, light red and white */
.fx-admin{--g:linear-gradient(100deg,#5a0008 0%,#ff4a4a 20%,#a00c14 38%,#ffd0c8 48%,#e02020 60%,#6e0a0e 80%,#ff4a4a 100%); --gw:255,50,50; --dc:#ffb0a8;}
.fx-moderator{--g:linear-gradient(100deg,#8a3030 0%,#ffa3a3 20%,#c95050 38%,#fff0ec 48%,#ff8080 60%,#9a3a3a 80%,#ffa3a3 100%); --gw:255,130,130; --dc:#ffd6d0;}
.fx-developer{--g:linear-gradient(100deg,#9aa4ad 0%,#ffffff 20%,#cfd8e0 38%,#ffffff 48%,#e8eef3 60%,#a9b3bc 80%,#ffffff 100%); --gw:255,255,255; --dc:#ffffff;}
.fx-admin,.fx-moderator,.fx-developer{--sd:5s; animation:fx-rank 4s ease-in-out infinite;}
.fx-admin .fxp,.fx-moderator .fxp,.fx-developer .fxp{width:2px; height:2px; border-radius:50%; background:var(--dc); box-shadow:0 0 3px 1px rgba(var(--gw),.8);}
@keyframes fx-rank{0%,100%{filter:drop-shadow(0 1px 0 rgba(0,0,0,.85)) drop-shadow(0 0 1px rgba(var(--gw),.3));} 50%{filter:drop-shadow(0 1px 0 rgba(0,0,0,.85)) drop-shadow(0 0 4px rgba(var(--gw),.65));}}

/* Bug Hunter: scan lines rolling through the letters, a night-vision green glow that flickers, and specks of static */
.fx-bughunter{animation:fx-nv 4s steps(1) infinite;}
.fx-bughunter .uname{position:relative;}
.fx-bughunter .uname::after{content:attr(data-t); position:absolute; left:0; top:0; white-space:nowrap; pointer-events:none; color:transparent;
  background:repeating-linear-gradient(0deg,rgba(0,0,0,.45) 0 1px,transparent 1px 3px); -webkit-background-clip:text; background-clip:text; animation:fx-scan 1.2s linear infinite;}
.fx-bughunter .fxp{width:2px; height:2px; background:#b8ffc4; box-shadow:0 0 2px #3dff5a; opacity:0; animation:fx-static 2.2s steps(1) infinite; animation-delay:calc(var(--i) * -.75s);}
.fx-bughunter .fxp:nth-child(2){left:15%; top:0;} .fx-bughunter .fxp:nth-child(3){left:55%; bottom:1px;} .fx-bughunter .fxp:nth-child(4){right:6%; top:3px;}
@keyframes fx-nv{0%,100%{filter:drop-shadow(0 0 2px rgba(80,255,110,.55));} 71%{filter:drop-shadow(0 0 1px rgba(80,255,110,.25));} 73%{filter:drop-shadow(0 0 3px rgba(80,255,110,.7));}}
@keyframes fx-scan{to{background-position:0 3px;}}
@keyframes fx-static{0%{opacity:0;} 10%{opacity:1; transform:translate(0,0);} 14%{opacity:0;} 40%{opacity:.9; transform:translate(3px,-1px);} 44%{opacity:0;}}

/* Most Wanted: the name lit red from one side and blue from the other, flashing like a squad car, with light flares */
.fx-mostwanted{animation:fx-squad 1s steps(1) infinite;}
.fx-mostwanted .uname{animation:fx-lit 1s steps(1) infinite;}
.fx-mostwanted .fxp{width:5px; height:5px; border-radius:50%; opacity:0; animation:fx-flare 1s steps(1) infinite;}
.fx-mostwanted .fxp:nth-child(odd){background:radial-gradient(circle,#fff 0 20%,#ff3030 50%,transparent 70%); box-shadow:0 0 4px 1px rgba(255,40,40,.7);}
.fx-mostwanted .fxp:nth-child(even){background:radial-gradient(circle,#fff 0 20%,#3a7dff 50%,transparent 70%); box-shadow:0 0 4px 1px rgba(50,110,255,.7); animation-delay:-.5s;}
.fx-mostwanted .fxp:nth-child(2){left:-3px; top:-2px;} .fx-mostwanted .fxp:nth-child(3){right:-3px; top:-2px;} .fx-mostwanted .fxp:nth-child(4){left:30%; bottom:-2px;} .fx-mostwanted .fxp:nth-child(5){right:25%; bottom:-2px;}
@keyframes fx-squad{0%{filter:drop-shadow(0 0 3px rgba(255,40,40,.6));} 50%{filter:drop-shadow(0 0 3px rgba(50,110,255,.65));}}
@keyframes fx-lit{0%{text-shadow:-2px -1px 5px rgba(255,40,40,.75);} 50%{text-shadow:2px -1px 5px rgba(50,110,255,.8);}}
@keyframes fx-flare{0%{opacity:0;} 50%{opacity:1;}}

/* Kingmaker: a glow in the gang's color, and small gold laurel leaves floating up round the name */
.fx-kingmaker{filter:drop-shadow(0 0 2px color-mix(in srgb,var(--fx) 60%,transparent)) drop-shadow(0 0 1px rgba(240,190,60,.45));}
.fx-kingmaker .fxp{width:3px; height:6px; border-radius:50% 50% 50% 50% / 80% 80% 20% 20%; background:linear-gradient(160deg,#fff1b8,#e0b441 45%,#8a6112); transform-origin:50% 100%;}

/* Last Man Standing: a soft spotlight on the name from above, with dust motes drifting up through the light */
.fx-lastman{filter:drop-shadow(0 0 2px rgba(255,248,220,.4));}
.fx-lastman::before{content:""; position:absolute; left:50%; top:-16px; width:44px; height:34px; margin-left:-22px; z-index:-1; pointer-events:none;
  background:radial-gradient(ellipse 34% 100% at 50% 0,rgba(255,248,215,.26),rgba(255,248,215,.08) 60%,rgba(255,248,215,0) 80%); -webkit-mask:linear-gradient(transparent,#000 45%); mask:linear-gradient(transparent,#000 45%); animation:fx-spotglow 5s ease-in-out infinite alternate;}
.fx-lastman .fxp{width:2px; height:2px; border-radius:50%; background:rgba(255,250,225,.9); box-shadow:0 0 2px rgba(255,250,225,.8);}
@keyframes fx-spotglow{0%{transform:translateX(-6px); opacity:.8;} 100%{transform:translateX(6px); opacity:1;}}

/* Big Spender: a gold shine running through the name, gold coins tumbling down past it and a glint */
.fx-bigspender .uname{position:relative;}
.fx-bigspender .uname::after{content:attr(data-t); position:absolute; left:0; top:0; white-space:nowrap; pointer-events:none; color:#ffe38a; text-shadow:0 0 3px #f2c230;
  -webkit-mask-image:linear-gradient(100deg,transparent 40%,#000 50%,transparent 60%); mask-image:linear-gradient(100deg,transparent 40%,#000 50%,transparent 60%);
  -webkit-mask-size:300% 100%; mask-size:300% 100%; animation:fx-shine 3.2s ease-in-out infinite;}
.fx-bigspender .fxp:nth-child(2){left:-4px; top:-3px;}
.fx-bigspender .fxp:nth-child(n+3){top:-8px; left:calc(var(--i) * 30% - 22%); width:5px; height:5px; border-radius:50%; background:radial-gradient(circle at 38% 32%,#fff6cc,#f2c94c 40%,#a8761c 80%);
  box-shadow:0 0 0 .5px #6b4a00, 0 0 3px rgba(255,210,80,.6); animation:fx-coin var(--d,2.6s) linear infinite; animation-delay:calc(var(--i) * -.85s);}
.fx-bigspender .fxp:nth-child(4){--d:3.1s;}
@keyframes fx-coin{0%{transform:translate(0,0) rotateY(0); opacity:0;} 12%{opacity:1;} 85%{opacity:1;} 100%{transform:translate(2px,28px) rotateY(720deg); opacity:0;}}

/* shared: tiny fireworks bursting over the name (New Year, Fourth of July) */
.fx-newyear .fxp,.fx-july4 .fxp{top:var(--y,-8px); left:var(--x,20%); width:16px; height:16px; margin-left:-8px; background:radial-gradient(circle at 92.6% 51.0%,#fff 0 0.40px,var(--c,#fff) 0.70px,transparent 1.10px),radial-gradient(circle at 88.5% 71.4%,#fff 0 0.40px,var(--c,#fff) 0.70px,transparent 1.10px),radial-gradient(circle at 75.7% 85.6%,#fff 0 0.40px,var(--c,#fff) 0.70px,transparent 1.10px),radial-gradient(circle at 62.7% 88.4%,#fff 0 0.40px,var(--c,#fff) 0.70px,transparent 1.10px),radial-gradient(circle at 37.1% 89.8%,#fff 0 0.40px,var(--c,#fff) 0.70px,transparent 1.10px),radial-gradient(circle at 24.1% 77.6%,#fff 0 0.40px,var(--c,#fff) 0.70px,transparent 1.10px),radial-gradient(circle at 15.1% 67.1%,#fff 0 0.40px,var(--c,#fff) 0.70px,transparent 1.10px),radial-gradient(circle at 8.7% 49.6%,#fff 0 0.40px,var(--c,#fff) 0.70px,transparent 1.10px),radial-gradient(circle at 13.8% 36.7%,#fff 0 0.40px,var(--c,#fff) 0.70px,transparent 1.10px),radial-gradient(circle at 21.2% 16.9%,#fff 0 0.40px,var(--c,#fff) 0.70px,transparent 1.10px),radial-gradient(circle at 43.5% 12.4%,#fff 0 0.40px,var(--c,#fff) 0.70px,transparent 1.10px),radial-gradient(circle at 60.6% 13.5%,#fff 0 0.40px,var(--c,#fff) 0.70px,transparent 1.10px),radial-gradient(circle at 74.3% 20.9%,#fff 0 0.40px,var(--c,#fff) 0.70px,transparent 1.10px),radial-gradient(circle at 87.2% 27.3%,#fff 0 0.40px,var(--c,#fff) 0.70px,transparent 1.10px),radial-gradient(circle at 72.0% 48.7%,#fff 0 0.32px,var(--c,#fff) 0.56px,transparent 0.88px),radial-gradient(circle at 65.8% 69.2%,#fff 0 0.32px,var(--c,#fff) 0.56px,transparent 0.88px),radial-gradient(circle at 51.1% 75.3%,#fff 0 0.32px,var(--c,#fff) 0.56px,transparent 0.88px),radial-gradient(circle at 32.9% 66.9%,#fff 0 0.32px,var(--c,#fff) 0.56px,transparent 0.88px),radial-gradient(circle at 24.9% 51.5%,#fff 0 0.32px,var(--c,#fff) 0.56px,transparent 0.88px),radial-gradient(circle at 32.8% 31.4%,#fff 0 0.32px,var(--c,#fff) 0.56px,transparent 0.88px),radial-gradient(circle at 51.8% 27.7%,#fff 0 0.32px,var(--c,#fff) 0.56px,transparent 0.88px),radial-gradient(circle at 65.0% 34.1%,#fff 0 0.32px,var(--c,#fff) 0.56px,transparent 0.88px); opacity:0;
  filter:drop-shadow(0 0 2px var(--c,#fff)); animation:fx-fw var(--d,3s) cubic-bezier(.15,.7,.3,1) infinite; animation-delay:var(--t,0s);}
@keyframes fx-fw{0%,20%{transform:scale(.1); opacity:0;} 24%{opacity:1;} 60%{transform:scale(1); opacity:.95;} 100%{transform:scale(1.1) translateY(3px); opacity:0;}}
/* New Year: gold and champagne fireworks going off over the name, and a soft golden glow */
.fx-newyear{filter:drop-shadow(0 0 2px rgba(255,216,107,.4));}
.fx-newyear .fxp:nth-child(2){--c:#ffd86b; --x:15%;} .fx-newyear .fxp:nth-child(3){--c:#fff1d6; --x:60%; --y:-11px; --t:-1s; --d:3.4s;} .fx-newyear .fxp:nth-child(4){--c:#f0b85a; --x:95%; --y:-6px; --t:-2s;}
/* Fourth of July: red, white and blue fireworks over the name and a glow that shifts red to blue */
.fx-july4{animation:fx-usa 4s ease-in-out infinite;}
.fx-july4 .fxp:nth-child(2){--c:#ff4a5a; --x:15%;} .fx-july4 .fxp:nth-child(3){--c:#ffffff; --x:60%; --y:-11px; --t:-1s; --d:3.4s;} .fx-july4 .fxp:nth-child(4){--c:#5aa8ff; --x:95%; --y:-6px; --t:-2s;}
@keyframes fx-usa{0%,100%{filter:drop-shadow(0 0 2px rgba(255,70,90,.55));} 50%{filter:drop-shadow(0 0 2px rgba(90,168,255,.6));}}

/* Rose Vine: a rose vine wound round the letters, and now and then a petal falling */
.fx-rosevine{--wrap:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2048%2012%22%3E%3Cdefs%3E%3CradialGradient%20id%3D%22r%22%20cx%3D%22.4%22%20cy%3D%22.35%22%20r%3D%22.7%22%3E%3Cstop%20offset%3D%220%22%20stop-color%3D%22%23ff6b7b%22%2F%3E%3Cstop%20offset%3D%22.45%22%20stop-color%3D%22%23c9142e%22%2F%3E%3Cstop%20offset%3D%221%22%20stop-color%3D%22%235a0010%22%2F%3E%3C%2FradialGradient%3E%3C%2Fdefs%3E%3Cpath%20d%3D%22M0.00%206.00%20L0.50%205.48%20L1.00%204.96%20L1.50%204.47%20L2.00%204.00%20L2.50%203.56%20L3.00%203.17%20L3.50%202.83%20L4.00%202.54%20L4.50%202.30%20L5.00%202.14%20L5.50%202.03%20L6.00%202.00%20L6.50%202.03%20L7.00%202.14%20L7.50%202.30%20L8.00%202.54%20L8.50%202.83%20L9.00%203.17%20L9.50%203.56%20L10.00%204.00%20L10.50%204.47%20L11.00%204.96%20L11.50%205.48%20L12.00%206.00%20L12.50%206.52%20L13.00%207.04%20L13.50%207.53%20L14.00%208.00%20L14.50%208.44%20L15.00%208.83%20L15.50%209.17%20L16.00%209.46%20L16.50%209.70%20L17.00%209.86%20L17.50%209.97%20L18.00%2010.00%20L18.50%209.97%20L19.00%209.86%20L19.50%209.70%20L20.00%209.46%20L20.50%209.17%20L21.00%208.83%20L21.50%208.44%20L22.00%208.00%20L22.50%207.53%20L23.00%207.04%20L23.50%206.52%20L24.00%206.00%20L24.50%205.48%20L25.00%204.96%20L25.50%204.47%20L26.00%204.00%20L26.50%203.56%20L27.00%203.17%20L27.50%202.83%20L28.00%202.54%20L28.50%202.30%20L29.00%202.14%20L29.50%202.03%20L30.00%202.00%20L30.50%202.03%20L31.00%202.14%20L31.50%202.30%20L32.00%202.54%20L32.50%202.83%20L33.00%203.17%20L33.50%203.56%20L34.00%204.00%20L34.50%204.47%20L35.00%204.96%20L35.50%205.48%20L36.00%206.00%20L36.50%206.52%20L37.00%207.04%20L37.50%207.53%20L38.00%208.00%20L38.50%208.44%20L39.00%208.83%20L39.50%209.17%20L40.00%209.46%20L40.50%209.70%20L41.00%209.86%20L41.50%209.97%20L42.00%2010.00%20L42.50%209.97%20L43.00%209.86%20L43.50%209.70%20L44.00%209.46%20L44.50%209.17%20L45.00%208.83%20L45.50%208.44%20L46.00%208.00%20L46.50%207.53%20L47.00%207.04%20L47.50%206.52%20L48.00%206.00%22%20fill%3D%22none%22%20stroke%3D%22%231f4a1c%22%20stroke-width%3D%221%22%2F%3E%3Cpath%20d%3D%22M0.00%206.00%20L0.50%205.48%20L1.00%204.96%20L1.50%204.47%20L2.00%204.00%20L2.50%203.56%20L3.00%203.17%20L3.50%202.83%20L4.00%202.54%20L4.50%202.30%20L5.00%202.14%20L5.50%202.03%20L6.00%202.00%20L6.50%202.03%20L7.00%202.14%20L7.50%202.30%20L8.00%202.54%20L8.50%202.83%20L9.00%203.17%20L9.50%203.56%20L10.00%204.00%20L10.50%204.47%20L11.00%204.96%20L11.50%205.48%20L12.00%206.00%20L12.50%206.52%20L13.00%207.04%20L13.50%207.53%20L14.00%208.00%20L14.50%208.44%20L15.00%208.83%20L15.50%209.17%20L16.00%209.46%20L16.50%209.70%20L17.00%209.86%20L17.50%209.97%20L18.00%2010.00%20L18.50%209.97%20L19.00%209.86%20L19.50%209.70%20L20.00%209.46%20L20.50%209.17%20L21.00%208.83%20L21.50%208.44%20L22.00%208.00%20L22.50%207.53%20L23.00%207.04%20L23.50%206.52%20L24.00%206.00%20L24.50%205.48%20L25.00%204.96%20L25.50%204.47%20L26.00%204.00%20L26.50%203.56%20L27.00%203.17%20L27.50%202.83%20L28.00%202.54%20L28.50%202.30%20L29.00%202.14%20L29.50%202.03%20L30.00%202.00%20L30.50%202.03%20L31.00%202.14%20L31.50%202.30%20L32.00%202.54%20L32.50%202.83%20L33.00%203.17%20L33.50%203.56%20L34.00%204.00%20L34.50%204.47%20L35.00%204.96%20L35.50%205.48%20L36.00%206.00%20L36.50%206.52%20L37.00%207.04%20L37.50%207.53%20L38.00%208.00%20L38.50%208.44%20L39.00%208.83%20L39.50%209.17%20L40.00%209.46%20L40.50%209.70%20L41.00%209.86%20L41.50%209.97%20L42.00%2010.00%20L42.50%209.97%20L43.00%209.86%20L43.50%209.70%20L44.00%209.46%20L44.50%209.17%20L45.00%208.83%20L45.50%208.44%20L46.00%208.00%20L46.50%207.53%20L47.00%207.04%20L47.50%206.52%20L48.00%206.00%22%20fill%3D%22none%22%20stroke%3D%22%234d8a3e%22%20stroke-width%3D%22.35%22%2F%3E%3Cg%20transform%3D%22translate%283%203.17%29%20rotate%28-30%29%22%3E%3Cpath%20d%3D%22M0%200C1-1.3%203-1.3%204%200%203%201.3%201%201.3%200%200z%22%20fill%3D%22%233f7a36%22%2F%3E%3C%2Fg%3E%3Cg%20transform%3D%22translate%2815%208.83%29%20rotate%2830%29%22%3E%3Cpath%20d%3D%22M0%200C1-1.3%203-1.3%204%200%203%201.3%201%201.3%200%200z%22%20fill%3D%22%233f7a36%22%2F%3E%3C%2Fg%3E%3Cg%20transform%3D%22translate%2827%203.17%29%20rotate%28-30%29%22%3E%3Cpath%20d%3D%22M0%200C1-1.3%203-1.3%204%200%203%201.3%201%201.3%200%200z%22%20fill%3D%22%233f7a36%22%2F%3E%3C%2Fg%3E%3Cg%20transform%3D%22translate%2839%208.83%29%20rotate%2830%29%22%3E%3Cpath%20d%3D%22M0%200C1-1.3%203-1.3%204%200%203%201.3%201%201.3%200%200z%22%20fill%3D%22%233f7a36%22%2F%3E%3C%2Fg%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%226.00%22%20r%3D%222.3%22%20fill%3D%22url%28%23r%29%22%2F%3E%3Cpath%20d%3D%22M10.7%206.00c0-1.2%201.6-1.6%202.3-.6M11.4%206.60c.8.4%201.6%200%201.7-.7%22%20fill%3D%22none%22%20stroke%3D%22%234a0010%22%20stroke-width%3D%22.35%22%20stroke-opacity%3D%22.7%22%2F%3E%3Ccircle%20cx%3D%2236%22%20cy%3D%226.00%22%20r%3D%222.3%22%20fill%3D%22url%28%23r%29%22%2F%3E%3Cpath%20d%3D%22M34.7%206.00c0-1.2%201.6-1.6%202.3-.6M35.4%206.60c.8.4%201.6%200%201.7-.7%22%20fill%3D%22none%22%20stroke%3D%22%234a0010%22%20stroke-width%3D%22.35%22%20stroke-opacity%3D%22.7%22%2F%3E%3C%2Fsvg%3E");}
.fx-rosevine .fxp{top:-5px; left:var(--x,30%); width:3px; height:4px; border-radius:65% 35% 60% 40% / 70% 70% 30% 30%; opacity:0; background:radial-gradient(circle at 35% 30%,#ff7384,#c9142e 55%,#720517);
  animation:fx-rosepetal var(--d,7s) linear infinite; animation-delay:var(--t,0s);}
.fx-rosevine .fxp:nth-child(2){--x:35%;} .fx-rosevine .fxp:nth-child(3){--x:75%; --t:-3.6s; --d:8s;}
@keyframes fx-rosepetal{0%{transform:translate(0,0) rotate(0) rotateX(0); opacity:0;} 10%{opacity:.95;} 50%{transform:translate(3px,12px) rotate(160deg) rotateX(240deg);} 85%{opacity:.8;} 100%{transform:translate(-1px,24px) rotate(300deg) rotateX(480deg); opacity:0;}}

/* Mardi Gras: purple, gold and green metallic lettering, a strand of beads wound round it and glitter drifting down */
.fx-mardigras{--g:linear-gradient(100deg,#6b21a8 0%,#b36bff 16%,#e0b441 32%,#fff3c4 44%,#e0b441 54%,#2fbf5b 70%,#1f6b3a 84%,#8e3fd1 100%); --sd:4.5s; --wrap:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2048%2012%22%3E%3Cdefs%3E%3CradialGradient%20id%3D%22p%22%20cx%3D%22.35%22%20cy%3D%22.3%22%20r%3D%22.75%22%3E%3Cstop%20offset%3D%220%22%20stop-color%3D%22%23e9c6ff%22%2F%3E%3Cstop%20offset%3D%22.4%22%20stop-color%3D%22%238e3fd1%22%2F%3E%3Cstop%20offset%3D%221%22%20stop-color%3D%22%232a0a47%22%2F%3E%3C%2FradialGradient%3E%3CradialGradient%20id%3D%22g%22%20cx%3D%22.35%22%20cy%3D%22.3%22%20r%3D%22.75%22%3E%3Cstop%20offset%3D%220%22%20stop-color%3D%22%23c9ffd8%22%2F%3E%3Cstop%20offset%3D%22.4%22%20stop-color%3D%22%231f9c46%22%2F%3E%3Cstop%20offset%3D%221%22%20stop-color%3D%22%23062d12%22%2F%3E%3C%2FradialGradient%3E%3CradialGradient%20id%3D%22y%22%20cx%3D%22.35%22%20cy%3D%22.3%22%20r%3D%22.75%22%3E%3Cstop%20offset%3D%220%22%20stop-color%3D%22%23fff6cc%22%2F%3E%3Cstop%20offset%3D%22.4%22%20stop-color%3D%22%23e0b441%22%2F%3E%3Cstop%20offset%3D%221%22%20stop-color%3D%22%235e3d08%22%2F%3E%3C%2FradialGradient%3E%3C%2Fdefs%3E%3Ccircle%20cx%3D%221.00%22%20cy%3D%224.96%22%20r%3D%221.05%22%20fill%3D%22url%28%23p%29%22%2F%3E%3Ccircle%20cx%3D%223.00%22%20cy%3D%223.17%22%20r%3D%221.05%22%20fill%3D%22url%28%23g%29%22%2F%3E%3Ccircle%20cx%3D%225.00%22%20cy%3D%222.14%22%20r%3D%221.05%22%20fill%3D%22url%28%23y%29%22%2F%3E%3Ccircle%20cx%3D%227.00%22%20cy%3D%222.14%22%20r%3D%221.05%22%20fill%3D%22url%28%23p%29%22%2F%3E%3Ccircle%20cx%3D%229.00%22%20cy%3D%223.17%22%20r%3D%221.05%22%20fill%3D%22url%28%23g%29%22%2F%3E%3Ccircle%20cx%3D%2211.00%22%20cy%3D%224.96%22%20r%3D%221.05%22%20fill%3D%22url%28%23y%29%22%2F%3E%3Ccircle%20cx%3D%2213.00%22%20cy%3D%227.04%22%20r%3D%221.05%22%20fill%3D%22url%28%23p%29%22%2F%3E%3Ccircle%20cx%3D%2215.00%22%20cy%3D%228.83%22%20r%3D%221.05%22%20fill%3D%22url%28%23g%29%22%2F%3E%3Ccircle%20cx%3D%2217.00%22%20cy%3D%229.86%22%20r%3D%221.05%22%20fill%3D%22url%28%23y%29%22%2F%3E%3Ccircle%20cx%3D%2219.00%22%20cy%3D%229.86%22%20r%3D%221.05%22%20fill%3D%22url%28%23p%29%22%2F%3E%3Ccircle%20cx%3D%2221.00%22%20cy%3D%228.83%22%20r%3D%221.05%22%20fill%3D%22url%28%23g%29%22%2F%3E%3Ccircle%20cx%3D%2223.00%22%20cy%3D%227.04%22%20r%3D%221.05%22%20fill%3D%22url%28%23y%29%22%2F%3E%3Ccircle%20cx%3D%2225.00%22%20cy%3D%224.96%22%20r%3D%221.05%22%20fill%3D%22url%28%23p%29%22%2F%3E%3Ccircle%20cx%3D%2227.00%22%20cy%3D%223.17%22%20r%3D%221.05%22%20fill%3D%22url%28%23g%29%22%2F%3E%3Ccircle%20cx%3D%2229.00%22%20cy%3D%222.14%22%20r%3D%221.05%22%20fill%3D%22url%28%23y%29%22%2F%3E%3Ccircle%20cx%3D%2231.00%22%20cy%3D%222.14%22%20r%3D%221.05%22%20fill%3D%22url%28%23p%29%22%2F%3E%3Ccircle%20cx%3D%2233.00%22%20cy%3D%223.17%22%20r%3D%221.05%22%20fill%3D%22url%28%23g%29%22%2F%3E%3Ccircle%20cx%3D%2235.00%22%20cy%3D%224.96%22%20r%3D%221.05%22%20fill%3D%22url%28%23y%29%22%2F%3E%3Ccircle%20cx%3D%2237.00%22%20cy%3D%227.04%22%20r%3D%221.05%22%20fill%3D%22url%28%23p%29%22%2F%3E%3Ccircle%20cx%3D%2239.00%22%20cy%3D%228.83%22%20r%3D%221.05%22%20fill%3D%22url%28%23g%29%22%2F%3E%3Ccircle%20cx%3D%2241.00%22%20cy%3D%229.86%22%20r%3D%221.05%22%20fill%3D%22url%28%23y%29%22%2F%3E%3Ccircle%20cx%3D%2243.00%22%20cy%3D%229.86%22%20r%3D%221.05%22%20fill%3D%22url%28%23p%29%22%2F%3E%3Ccircle%20cx%3D%2245.00%22%20cy%3D%228.83%22%20r%3D%221.05%22%20fill%3D%22url%28%23g%29%22%2F%3E%3Ccircle%20cx%3D%2247.00%22%20cy%3D%227.04%22%20r%3D%221.05%22%20fill%3D%22url%28%23y%29%22%2F%3E%3C%2Fsvg%3E");}
.fx-mardigras .fxp{top:-5px; left:calc(var(--i) * 35% + 5%); width:2px; height:2px; border-radius:50%; background:#ffe38a; box-shadow:0 0 2px #ffd23a; opacity:0;
  animation:fx-glitter 3.4s linear infinite; animation-delay:calc(var(--i) * -1.1s);}
.fx-mardigras .fxp:nth-child(odd){background:#d9a6ff; box-shadow:0 0 2px #b066ff;}
@keyframes fx-glitter{0%{transform:translate(0,0); opacity:0;} 15%{opacity:1;} 100%{transform:translate(2px,22px); opacity:0;}}

/* St. Patrick's Day: emerald lettering with a shine, and small shamrocks floating up round the name */
.fx-stpatricks{--g:linear-gradient(100deg,#0a5a27 0%,#2fbf5b 18%,#0f7a3a 34%,#d9ffe6 46%,#1f9c46 58%,#0a5a27 78%,#2fbf5b 100%);}
.fx-stpatricks .fxp{width:6px; height:6px; background:linear-gradient(150deg,#8fe0a8,#1f9c46 50%,#0b5e28); -webkit-mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2040%2040%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M20%2022c3%206%204%2011%203%2016%22%20stroke%3D%22%230b4a1f%22%20stroke-width%3D%222.6%22%20fill%3D%22none%22%20stroke-linecap%3D%22round%22%2F%3E%3Cg%20fill%3D%22%232fbf5b%22%20stroke%3D%22%230b4a1f%22%20stroke-width%3D%221.3%22%3E%3Cpath%20d%3D%22M20%2020C14%2018%208%2016%208%2010c0-4%205-6%208-3%200-4%205-6%208-3%202%203%201%209-4%2016z%22%2F%3E%3Cpath%20d%3D%22M20%2020c-2%206-4%2012-10%2013-4%200-6-4-3-7-4-1-5-6-2-8%203-2%209-1%2015%202z%22%20transform%3D%22rotate%288%2020%2020%29%22%2F%3E%3Cpath%20d%3D%22M20%2020c6-3%2012-4%2015-2%203%202%202%207-2%208%203%203%201%207-3%207-6-1-8-7-10-13z%22%20transform%3D%22rotate%28-8%2020%2020%29%22%2F%3E%3C%2Fg%3E%3Cpath%20d%3D%22M13%2010c1-2%203-3%205-2%22%20stroke%3D%22%23bff5c9%22%20stroke-width%3D%221.2%22%20fill%3D%22none%22%20stroke-linecap%3D%22round%22%2F%3E%3C%2Fsvg%3E") no-repeat center/contain; mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2040%2040%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M20%2022c3%206%204%2011%203%2016%22%20stroke%3D%22%230b4a1f%22%20stroke-width%3D%222.6%22%20fill%3D%22none%22%20stroke-linecap%3D%22round%22%2F%3E%3Cg%20fill%3D%22%232fbf5b%22%20stroke%3D%22%230b4a1f%22%20stroke-width%3D%221.3%22%3E%3Cpath%20d%3D%22M20%2020C14%2018%208%2016%208%2010c0-4%205-6%208-3%200-4%205-6%208-3%202%203%201%209-4%2016z%22%2F%3E%3Cpath%20d%3D%22M20%2020c-2%206-4%2012-10%2013-4%200-6-4-3-7-4-1-5-6-2-8%203-2%209-1%2015%202z%22%20transform%3D%22rotate%288%2020%2020%29%22%2F%3E%3Cpath%20d%3D%22M20%2020c6-3%2012-4%2015-2%203%202%202%207-2%208%203%203%201%207-3%207-6-1-8-7-10-13z%22%20transform%3D%22rotate%28-8%2020%2020%29%22%2F%3E%3C%2Fg%3E%3Cpath%20d%3D%22M13%2010c1-2%203-3%205-2%22%20stroke%3D%22%23bff5c9%22%20stroke-width%3D%221.2%22%20fill%3D%22none%22%20stroke-linecap%3D%22round%22%2F%3E%3C%2Fsvg%3E") no-repeat center/contain;}
.fx-stpatricks .fxp:nth-child(3){background:linear-gradient(150deg,#fff1b8,#e0b441 50%,#8a6112);}

/* Easter: lavender enamel lettering with a shine, and small jewels (amethyst, ruby, sapphire, gold) twinkling round it */
.fx-easter{--g:linear-gradient(100deg,#5b2b91 0%,#caa6f0 18%,#8e5ad6 34%,#fbf2ff 46%,#b384e6 58%,#5b2b91 78%,#caa6f0 100%);}
.fx-easter .fxp{width:4px; height:4px; transform:rotate(45deg); background:radial-gradient(circle at 35% 30%,#fff,var(--c,#b36bff) 45%,color-mix(in srgb,var(--c,#b36bff) 50%,#000)); box-shadow:0 0 3px var(--c,#b36bff);
  opacity:0; animation:fx-jewel 2.8s ease-in-out infinite; animation-delay:calc(var(--i) * -.7s);}
.fx-easter .fxp:nth-child(2){left:-4px; top:-2px;} .fx-easter .fxp:nth-child(3){left:40%; top:-5px; --c:#ff4f7e;} .fx-easter .fxp:nth-child(4){right:-4px; top:2px; --c:#4f9dff;} .fx-easter .fxp:nth-child(5){left:70%; bottom:-4px; --c:#f2c94c;}
@keyframes fx-jewel{0%,100%{opacity:0; transform:rotate(45deg) scale(.4);} 40%,60%{opacity:1; transform:rotate(45deg) scale(1);}}

/* Halloween: flickering candlelight on the name and faint ghosts drifting by behind it */
.fx-halloween{animation:fx-candle 2.6s steps(1) infinite;}
.fx-halloween .fxp{top:-6px; left:-10px; width:8px; height:10px; z-index:-1; border-radius:50% 50% 30% 30% / 58% 58% 22% 22%; opacity:0;
  background:radial-gradient(ellipse 60% 55% at 50% 35%,rgba(245,248,255,.95),rgba(205,218,255,.45) 60%,transparent 100%);
  -webkit-mask:linear-gradient(#000 55%,transparent); mask:linear-gradient(#000 55%,transparent); filter:blur(.3px); animation:fx-ghost var(--d,9s) ease-in-out infinite; animation-delay:var(--t,0s);}
.fx-halloween .fxp:nth-child(3){--t:-4.5s; --d:10s; top:2px; width:6px; height:8px;}
@keyframes fx-candle{0%,100%{filter:drop-shadow(0 0 2px rgba(255,120,20,.55));} 33%{filter:drop-shadow(0 0 1px rgba(255,100,10,.35));} 58%{filter:drop-shadow(0 0 4px rgba(255,140,40,.7));}}
@keyframes fx-ghost{0%{transform:translate(0,0); opacity:0;} 15%{opacity:.55;} 50%{transform:translate(40px,-3px); opacity:.45;} 85%{opacity:.4;} 100%{transform:translate(80px,1px); opacity:0;}}

/* Thanksgiving: a warm amber glow and small autumn leaves fluttering down past the name */
.fx-thanksgiving{filter:drop-shadow(0 0 2px rgba(240,150,40,.35));}
.fx-thanksgiving .fxp{top:-7px; left:calc(var(--i) * 34% + 4%); width:6px; height:6px; opacity:0; -webkit-mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2032%2032%22%3E%3Cpath%20d%3D%22M16%201l2.5%206%204-2-1%207%206-3-1.5%205%205%201-5%204%201.5%202-7-1%20.5%204-4-2v10h-2V21l-4%202%20.5-4-7%201%201.5-2-5-4%205-1L4%209l6%203-1-7%204%202z%22%2F%3E%3C%2Fsvg%3E") no-repeat center/contain; mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2032%2032%22%3E%3Cpath%20d%3D%22M16%201l2.5%206%204-2-1%207%206-3-1.5%205%205%201-5%204%201.5%202-7-1%20.5%204-4-2v10h-2V21l-4%202%20.5-4-7%201%201.5-2-5-4%205-1L4%209l6%203-1-7%204%202z%22%2F%3E%3C%2Fsvg%3E") no-repeat center/contain;
  background:linear-gradient(140deg,var(--a,#f0a030),var(--b,#c0441a) 55%,var(--e,#6a1e08)); animation:fx-leaf var(--d,4.4s) linear infinite; animation-delay:calc(var(--i) * -1.5s);}
.fx-thanksgiving .fxp:nth-child(3){--a:#f5c542; --b:#d98a1c; --e:#7a4a08; --d:5s;} .fx-thanksgiving .fxp:nth-child(4){--a:#e0622a; --b:#9a1e10; --e:#4a0a04; --d:4s;}
@keyframes fx-leaf{0%{transform:translate(0,0) rotate(0) rotateY(0); opacity:0;} 12%{opacity:.95;} 50%{transform:translate(4px,12px) rotate(120deg) rotateY(260deg);} 85%{opacity:.85;} 100%{transform:translate(-2px,25px) rotate(220deg) rotateY(520deg); opacity:0;}}

/* Christmas: a string of old-fashioned lights wound round the letters, twinkling one by one, and a warm glow */
.fx-christmas{--wrap:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2048%2012%22%3E%3Cstyle%3E.b%7Banimation%3At%202.6s%20ease-in-out%20infinite%7D.g%7Banimation%3At%202.6s%20ease-in-out%20infinite%7D%40keyframes%20t%7B50%25%7Bopacity%3A.25%7D%7D%3C%2Fstyle%3E%3Cpath%20d%3D%22M0.00%206.00%20L0.50%205.48%20L1.00%204.96%20L1.50%204.47%20L2.00%204.00%20L2.50%203.56%20L3.00%203.17%20L3.50%202.83%20L4.00%202.54%20L4.50%202.30%20L5.00%202.14%20L5.50%202.03%20L6.00%202.00%20L6.50%202.03%20L7.00%202.14%20L7.50%202.30%20L8.00%202.54%20L8.50%202.83%20L9.00%203.17%20L9.50%203.56%20L10.00%204.00%20L10.50%204.47%20L11.00%204.96%20L11.50%205.48%20L12.00%206.00%20L12.50%206.52%20L13.00%207.04%20L13.50%207.53%20L14.00%208.00%20L14.50%208.44%20L15.00%208.83%20L15.50%209.17%20L16.00%209.46%20L16.50%209.70%20L17.00%209.86%20L17.50%209.97%20L18.00%2010.00%20L18.50%209.97%20L19.00%209.86%20L19.50%209.70%20L20.00%209.46%20L20.50%209.17%20L21.00%208.83%20L21.50%208.44%20L22.00%208.00%20L22.50%207.53%20L23.00%207.04%20L23.50%206.52%20L24.00%206.00%20L24.50%205.48%20L25.00%204.96%20L25.50%204.47%20L26.00%204.00%20L26.50%203.56%20L27.00%203.17%20L27.50%202.83%20L28.00%202.54%20L28.50%202.30%20L29.00%202.14%20L29.50%202.03%20L30.00%202.00%20L30.50%202.03%20L31.00%202.14%20L31.50%202.30%20L32.00%202.54%20L32.50%202.83%20L33.00%203.17%20L33.50%203.56%20L34.00%204.00%20L34.50%204.47%20L35.00%204.96%20L35.50%205.48%20L36.00%206.00%20L36.50%206.52%20L37.00%207.04%20L37.50%207.53%20L38.00%208.00%20L38.50%208.44%20L39.00%208.83%20L39.50%209.17%20L40.00%209.46%20L40.50%209.70%20L41.00%209.86%20L41.50%209.97%20L42.00%2010.00%20L42.50%209.97%20L43.00%209.86%20L43.50%209.70%20L44.00%209.46%20L44.50%209.17%20L45.00%208.83%20L45.50%208.44%20L46.00%208.00%20L46.50%207.53%20L47.00%207.04%20L47.50%206.52%20L48.00%206.00%22%20fill%3D%22none%22%20stroke%3D%22%23123018%22%20stroke-width%3D%221.1%22%2F%3E%3Cpath%20d%3D%22M0.00%206.00%20L0.50%205.48%20L1.00%204.96%20L1.50%204.47%20L2.00%204.00%20L2.50%203.56%20L3.00%203.17%20L3.50%202.83%20L4.00%202.54%20L4.50%202.30%20L5.00%202.14%20L5.50%202.03%20L6.00%202.00%20L6.50%202.03%20L7.00%202.14%20L7.50%202.30%20L8.00%202.54%20L8.50%202.83%20L9.00%203.17%20L9.50%203.56%20L10.00%204.00%20L10.50%204.47%20L11.00%204.96%20L11.50%205.48%20L12.00%206.00%20L12.50%206.52%20L13.00%207.04%20L13.50%207.53%20L14.00%208.00%20L14.50%208.44%20L15.00%208.83%20L15.50%209.17%20L16.00%209.46%20L16.50%209.70%20L17.00%209.86%20L17.50%209.97%20L18.00%2010.00%20L18.50%209.97%20L19.00%209.86%20L19.50%209.70%20L20.00%209.46%20L20.50%209.17%20L21.00%208.83%20L21.50%208.44%20L22.00%208.00%20L22.50%207.53%20L23.00%207.04%20L23.50%206.52%20L24.00%206.00%20L24.50%205.48%20L25.00%204.96%20L25.50%204.47%20L26.00%204.00%20L26.50%203.56%20L27.00%203.17%20L27.50%202.83%20L28.00%202.54%20L28.50%202.30%20L29.00%202.14%20L29.50%202.03%20L30.00%202.00%20L30.50%202.03%20L31.00%202.14%20L31.50%202.30%20L32.00%202.54%20L32.50%202.83%20L33.00%203.17%20L33.50%203.56%20L34.00%204.00%20L34.50%204.47%20L35.00%204.96%20L35.50%205.48%20L36.00%206.00%20L36.50%206.52%20L37.00%207.04%20L37.50%207.53%20L38.00%208.00%20L38.50%208.44%20L39.00%208.83%20L39.50%209.17%20L40.00%209.46%20L40.50%209.70%20L41.00%209.86%20L41.50%209.97%20L42.00%2010.00%20L42.50%209.97%20L43.00%209.86%20L43.50%209.70%20L44.00%209.46%20L44.50%209.17%20L45.00%208.83%20L45.50%208.44%20L46.00%208.00%20L46.50%207.53%20L47.00%207.04%20L47.50%206.52%20L48.00%206.00%22%20fill%3D%22none%22%20stroke%3D%22%232e5a34%22%20stroke-width%3D%22.45%22%2F%3E%3C%2Fsvg%3E"); filter:drop-shadow(0 0 2px rgba(255,220,160,.3));}
.fx-christmas::after{content:""; position:absolute; left:-3px; right:-3px; top:50%; height:12px; margin-top:-6px; z-index:2; pointer-events:none; background:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2048%2012%22%3E%3Cstyle%3E.b%7Banimation%3At%202.6s%20ease-in-out%20infinite%7D%40keyframes%20t%7B50%25%7Bopacity%3A.25%7D%7D%3C%2Fstyle%3E%3Crect%20x%3D%229.25%22%20y%3D%223.80%22%20width%3D%221.5%22%20height%3D%221.1%22%20fill%3D%22%231b2a1d%22%2F%3E%3Cg%20class%3D%22b%22%20style%3D%22animation-delay%3A0s%22%3E%3Ccircle%20cx%3D%2210%22%20cy%3D%225.90%22%20r%3D%223%22%20fill%3D%22%23ff5a4a%22%20fill-opacity%3D%22.3%22%2F%3E%3Cellipse%20cx%3D%2210%22%20cy%3D%225.90%22%20rx%3D%221.45%22%20ry%3D%221.95%22%20fill%3D%22%23ff5a4a%22%2F%3E%3Cellipse%20cx%3D%229.6%22%20cy%3D%225.30%22%20rx%3D%22.45%22%20ry%3D%22.6%22%20fill%3D%22%23fff%22%20fill-opacity%3D%22.85%22%2F%3E%3C%2Fg%3E%3Crect%20x%3D%2221.25%22%20y%3D%227.80%22%20width%3D%221.5%22%20height%3D%221.1%22%20fill%3D%22%231b2a1d%22%2F%3E%3Cg%20class%3D%22b%22%20style%3D%22animation-delay%3A-0.9s%22%3E%3Ccircle%20cx%3D%2222%22%20cy%3D%229.90%22%20r%3D%223%22%20fill%3D%22%23ffd98a%22%20fill-opacity%3D%22.3%22%2F%3E%3Cellipse%20cx%3D%2222%22%20cy%3D%229.90%22%20rx%3D%221.45%22%20ry%3D%221.95%22%20fill%3D%22%23ffd98a%22%2F%3E%3Cellipse%20cx%3D%2221.6%22%20cy%3D%229.30%22%20rx%3D%22.45%22%20ry%3D%22.6%22%20fill%3D%22%23fff%22%20fill-opacity%3D%22.85%22%2F%3E%3C%2Fg%3E%3Crect%20x%3D%2233.25%22%20y%3D%223.80%22%20width%3D%221.5%22%20height%3D%221.1%22%20fill%3D%22%231b2a1d%22%2F%3E%3Cg%20class%3D%22b%22%20style%3D%22animation-delay%3A-1.7s%22%3E%3Ccircle%20cx%3D%2234%22%20cy%3D%225.90%22%20r%3D%223%22%20fill%3D%22%234fd88a%22%20fill-opacity%3D%22.3%22%2F%3E%3Cellipse%20cx%3D%2234%22%20cy%3D%225.90%22%20rx%3D%221.45%22%20ry%3D%221.95%22%20fill%3D%22%234fd88a%22%2F%3E%3Cellipse%20cx%3D%2233.6%22%20cy%3D%225.30%22%20rx%3D%22.45%22%20ry%3D%22.6%22%20fill%3D%22%23fff%22%20fill-opacity%3D%22.85%22%2F%3E%3C%2Fg%3E%3Crect%20x%3D%2245.25%22%20y%3D%227.80%22%20width%3D%221.5%22%20height%3D%221.1%22%20fill%3D%22%231b2a1d%22%2F%3E%3Cg%20class%3D%22b%22%20style%3D%22animation-delay%3A-0.4s%22%3E%3Ccircle%20cx%3D%2246%22%20cy%3D%229.90%22%20r%3D%223%22%20fill%3D%22%236ab4ff%22%20fill-opacity%3D%22.3%22%2F%3E%3Cellipse%20cx%3D%2246%22%20cy%3D%229.90%22%20rx%3D%221.45%22%20ry%3D%221.95%22%20fill%3D%22%236ab4ff%22%2F%3E%3Cellipse%20cx%3D%2245.6%22%20cy%3D%229.30%22%20rx%3D%22.45%22%20ry%3D%22.6%22%20fill%3D%22%23fff%22%20fill-opacity%3D%22.85%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E") 0 0/48px 12px repeat-x;}
/* admin gallery */
.fx-gallery{display:grid; grid-template-columns:repeat(auto-fill,minmax(190px,1fr)); gap:10px; margin:6px 0 10px;}
.fx-cell{background:#161616; border:1px solid #2a2a2a; padding:10px 8px 8px; text-align:center;}
.fx-demo{padding:8px 0 10px; font-weight:bold;}
.fx-lbl{font-size:14px;}
.fx-sw{display:inline-block; width:10px; height:10px; border:1px solid #666; vertical-align:middle;}
/* no animation for people who asked their system for less motion */
@media (prefers-reduced-motion: reduce){ .fx,.fx *,.fx::before,.fx::after,.fx *::before,.fx *::after{animation:none !important;} }

details.fold > summary{list-style:none; cursor:pointer; text-align:center; color:var(--gold); padding:4px 0;}
details.fold > summary::-webkit-details-marker{display:none;}
details.fold > summary::before{content:"\25B8"; display:inline-block; margin-right:6px; transition:transform .15s;}
details.fold[open] > summary::before{transform:rotate(90deg);}
details.fold > summary:hover{filter:brightness(1.35);}
details.fold .fold-hide,details.fold[open] .fold-show{display:none;}
details.fold[open] .fold-hide{display:inline;}
details.fold[open] > summary{margin-bottom:6px;}
#bet-fold td:nth-child(3),#bet-fold td:nth-child(5){color:var(--good);}   /* won: the same green as the net line */
#bet-fold td:nth-child(4),#bet-fold td:nth-child(6){color:var(--bad);}    /* lost: the same red */
#bet-fold td b{color:inherit;}                                          /* the Total row too */
/* profile theme: a player's name color / gradient colors their profile labels and song bar; the values stay white */
.prof-theme{--pc1:var(--brass); --pc2:var(--brass); --pcfg:#111;}
.prof-theme.themed .plbl{background:linear-gradient(90deg,var(--pc1),var(--pc2)); -webkit-background-clip:text; background-clip:text; color:transparent;}
/* profile songs: a slim play/pause and volume bar under the picture; the YouTube player hides behind it */
.profile-avcol{flex:none; display:flex; flex-direction:column; align-items:center; gap:7px;}
.prof-song{position:relative; isolation:isolate; overflow:hidden; display:flex; align-items:center; gap:7px; width:100%; min-width:150px; contain:inline-size;   /* as wide as the picture (at least 150px) */
  padding:3px 10px 3px 3px; background:#171717; border:1px solid #3a3a3a; border-radius:999px; box-sizing:border-box;}
.prof-song .song-btn{flex:none; width:24px; height:24px; padding:0; border:0; border-radius:50%; background:linear-gradient(135deg,var(--pc1,var(--brass)),var(--pc2,var(--brass)));
  color:var(--pcfg,#111); font-size:10px; line-height:1; display:grid; place-items:center; cursor:pointer;}
.prof-song .song-btn:hover{filter:brightness(1.2);}
.prof-song .song-note{flex:none; color:var(--pc1,var(--brass)); font-size:13px; opacity:.55;}
.prof-song.playing .song-note{opacity:1; animation:song-bob 1s ease-in-out infinite;}
/* the volume slider: a track in the name's colors and a round thumb */
.prof-song .song-vol{flex:1; min-width:0; width:100%; height:14px; margin:0; cursor:pointer; -webkit-appearance:none; appearance:none; background:none;}
.prof-song .song-vol::-webkit-slider-runnable-track{height:4px; border-radius:2px; background:linear-gradient(90deg,var(--pc1,var(--brass)),var(--pc2,var(--brass)));}
.prof-song .song-vol::-moz-range-track{height:4px; border-radius:2px; background:linear-gradient(90deg,var(--pc1,var(--brass)),var(--pc2,var(--brass)));}
.prof-song .song-vol::-webkit-slider-thumb{-webkit-appearance:none; width:12px; height:12px; margin-top:-4px; border-radius:50%; background:var(--pc2,var(--brass)); border:2px solid #171717; box-shadow:0 0 0 1px rgba(255,255,255,.35);}
.prof-song .song-vol::-moz-range-thumb{width:10px; height:10px; border-radius:50%; background:var(--pc2,var(--brass)); border:2px solid #171717; box-shadow:0 0 0 1px rgba(255,255,255,.35);}
.prof-song .song-vol:focus-visible{outline:1px dotted var(--pc1,var(--brass)); outline-offset:2px;}
.prof-song iframe{position:absolute; left:0; top:0; width:200px; height:113px; border:0; opacity:0; pointer-events:none; z-index:-1;}
@keyframes song-bob{50%{transform:translateY(-2px);}}
@media (prefers-reduced-motion: reduce){ .prof-song.playing .song-note{animation:none;} }
tr.bet-sec td{background:#1a1a1a; color:var(--gold, #f2c230); font-weight:bold; text-align:left; padding-top:8px;}

/* ================= avatar frames (admin-granted; see inc/avatarfx.php) =================
   The frame is an overlay laid over the picture. The overlay is a size container, so every
   length below is in cqmin (1% of the picture's shorter side): the same frame fits a 52px
   Street Talk picture, the 139px header and a 200px profile picture. */
.avf{position:relative; --fx:#ffc61a; border-color:transparent !important; container-type:size; isolation:isolate;}   /* a size container, so the picture can be rounded to match the frame */
.avf.avf{overflow:visible;}                                          /* crowns, halos and particles may reach past the edge */
.avf > img{position:absolute; inset:0; width:100%; height:100%; border-radius:var(--avr,0);}   /* pinned to the box: a size container doesn't stretch to its picture */
/* frames with rounded corners (--avr): the picture, or the letter box when there's no picture, gets the same curve, so no square corner pokes out */
.avf-neon{--avr:6cqmin;} .avf-hearts{--avr:8cqmin;}
.avf-neon,.avf-hearts{background:transparent !important; box-shadow:none !important;}
.avf-neon > img,.avf-hearts > img{border:0;}
.avf-neon:not(.has-img):not(.cutout)::before,.avf-hearts:not(.has-img):not(.cutout)::before{content:""; position:absolute; inset:0; z-index:-1; border-radius:var(--avr);
  background:linear-gradient(135deg,#3a3a3a,#1e1e1e);}
.profile-avw{flex:none; position:relative;}
.profile-avw > .profile-av{max-width:none; max-height:none; display:block;}
.avf-o{position:absolute; inset:0; container-type:size; pointer-events:none; z-index:2; border-radius:var(--avr,0);}
.avf-o .avf-f,.avf-o .avp{position:absolute; display:block; font-style:normal; line-height:1;}
.avf-o .avf-f{inset:0;}
.avf-o .avf-f::before,.avf-o .avf-f::after,.avf-o .avp::before,.avf-o .avp::after{content:""; position:absolute; display:block;}
/* a ring: paint the ::before, cut the middle out */
.avf-gilded .avf-f::before,.avf-gilded .avf-f::after,.avf-frost .avf-f::before,.avf-bling .avf-f::before,.avf-money .avf-f::before,.avf-casino .avf-f::before,.avf-hellfire .avf-f::before{
  inset:0; padding:var(--rw,5cqmin);
  -webkit-mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite:xor;
  mask:linear-gradient(#000 0 0) content-box exclude, linear-gradient(#000 0 0);}
/* a ring whose inside turns: the whole .avf-f is the ring */
.avf-rainbow .avf-f,.avf-orbit .avf-f{padding:var(--rw,4cqmin); overflow:hidden;
  -webkit-mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite:xor;
  mask:linear-gradient(#000 0 0) content-box exclude, linear-gradient(#000 0 0);}

/* 1 Gilded: an old gold picture frame with a shine running round it */
.avf-gilded{--rw:7cqmin;}
.avf-gilded .avf-f::before{background:linear-gradient(135deg,#6e4a0c,#f7d774 22%,#a8761c 45%,#ffeaa6 62%,#b98214 80%,#5e3d08);
  box-shadow:inset 0 0 0 max(1px,.8cqmin) rgba(40,24,0,.7);}
.avf-gilded .avf-f::after{background:linear-gradient(115deg,transparent 40%,rgba(255,255,240,.85) 50%,transparent 60%) 0 0/300% 300%; animation:avf-shine 4s ease-in-out infinite;}
.avf-gilded .avf-f{box-shadow:inset 0 0 3cqmin 7.5cqmin rgba(0,0,0,.45);}
.avf-gilded .avp{width:6cqmin; height:6cqmin; border-radius:50%; background:radial-gradient(circle at 35% 35%,#fff6c8,#e0a92a 45%,#6e4a0c 80%); box-shadow:0 0 0 max(1px,.5cqmin) #3b2600;}
.avf-gilded .avp:nth-of-type(1){left:.5cqmin; top:.5cqmin;} .avf-gilded .avp:nth-of-type(2){right:.5cqmin; top:.5cqmin;}
.avf-gilded .avp:nth-of-type(3){left:.5cqmin; bottom:.5cqmin;} .avf-gilded .avp:nth-of-type(4){right:.5cqmin; bottom:.5cqmin;}
@keyframes avf-shine{0%{background-position:100% 100%;} 70%,100%{background-position:0 0;}}

/* 2 Kingpin: a thin gold frame and a jeweled crown on top */
.avf-kingpin .avf-f{box-shadow:inset 0 0 0 max(2px,3cqmin) #d9a520, inset 0 0 0 max(3px,4cqmin) #5a3a00, inset 0 0 4cqmin 4cqmin rgba(255,200,60,.25);}
.avf-kingpin .avp{left:50%; top:-17cqmin; width:40cqmin; height:27cqmin; transform:translateX(-50%) rotate(-6deg);
  background:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2048%2032%22%3E%3Cdefs%3E%3ClinearGradient%20id%3D%22g%22%20x1%3D%220%22%20y1%3D%220%22%20x2%3D%220%22%20y2%3D%221%22%3E%3Cstop%20offset%3D%220%22%20stop-color%3D%22%23fff5bf%22%2F%3E%3Cstop%20offset%3D%22.45%22%20stop-color%3D%22%23f2c230%22%2F%3E%3Cstop%20offset%3D%221%22%20stop-color%3D%22%239c6404%22%2F%3E%3C%2FlinearGradient%3E%3C%2Fdefs%3E%3Cpath%20d%3D%22M5%2028%20L2%208%20L14%2017%20L24%203%20L34%2017%20L46%208%20L43%2028%20Z%22%20fill%3D%22url%28%23g%29%22%20stroke%3D%22%234a2f00%22%20stroke-width%3D%221.6%22%20stroke-linejoin%3D%22round%22%2F%3E%3Crect%20x%3D%225%22%20y%3D%2224%22%20width%3D%2238%22%20height%3D%225%22%20rx%3D%221.5%22%20fill%3D%22%23c98a0c%22%20stroke%3D%22%234a2f00%22%20stroke-width%3D%221.2%22%2F%3E%3Ccircle%20cx%3D%222%22%20cy%3D%228%22%20r%3D%222.8%22%20fill%3D%22%23ffe27a%22%20stroke%3D%22%234a2f00%22%20stroke-width%3D%221%22%2F%3E%3Ccircle%20cx%3D%2224%22%20cy%3D%223%22%20r%3D%222.8%22%20fill%3D%22%23ffe27a%22%20stroke%3D%22%234a2f00%22%20stroke-width%3D%221%22%2F%3E%3Ccircle%20cx%3D%2246%22%20cy%3D%228%22%20r%3D%222.8%22%20fill%3D%22%23ffe27a%22%20stroke%3D%22%234a2f00%22%20stroke-width%3D%221%22%2F%3E%3Cpath%20d%3D%22M24%2014%20l3.2%204%20-3.2%204%20-3.2%20-4z%22%20fill%3D%22%23d6242a%22%20stroke%3D%22%235a0a0a%22%20stroke-width%3D%22.8%22%2F%3E%3Ccircle%20cx%3D%2213%22%20cy%3D%2221%22%20r%3D%221.9%22%20fill%3D%22%232a8cff%22%20stroke%3D%22%2308306b%22%20stroke-width%3D%22.7%22%2F%3E%3Ccircle%20cx%3D%2235%22%20cy%3D%2221%22%20r%3D%221.9%22%20fill%3D%22%2328b44a%22%20stroke%3D%22%230b4a18%22%20stroke-width%3D%22.7%22%2F%3E%3C%2Fsvg%3E") no-repeat center/contain; filter:drop-shadow(0 .8cqmin .8cqmin rgba(0,0,0,.6));}
.avf-kingpin .avp::after{left:48%; top:44%; width:5cqmin; height:5cqmin; background:#fff; clip-path:polygon(50% 0,60% 40%,100% 50%,60% 60%,50% 100%,40% 60%,0 50%,40% 40%); animation:avf-twinkle 2.6s ease-in-out infinite;}

/* 3 Halo: a glowing ring floating above, and a soft light on the picture */
.avf-halo .avf-f{box-shadow:inset 0 0 6cqmin 1cqmin var(--fx); opacity:.75;}
.avf-halo .avp{left:50%; top:-11cqmin; width:52cqmin; height:13cqmin; border-radius:50%; border:max(2px,2.6cqmin) solid var(--fx);
  box-shadow:0 0 3cqmin var(--fx), inset 0 0 2cqmin var(--fx); transform:translateX(-50%); animation:avf-float 3s ease-in-out infinite;}
@keyframes avf-float{50%{transform:translateX(-50%) translateY(-2.5cqmin);}}

/* 4 Neon Sign: a neon tube around the picture that flickers now and then */
.avf-neon .avf-f{border:max(2px,2.6cqmin) solid var(--fx); border-radius:var(--avr); animation:avf-neon 6s linear infinite;
  box-shadow:0 0 1.5cqmin var(--fx), 0 0 5cqmin var(--fx), inset 0 0 1.5cqmin var(--fx), inset 0 0 5cqmin var(--fx);}
.avf-neon .avf-f::before{inset:0; border:max(1px,.8cqmin) solid rgba(255,255,255,.85); border-radius:calc(var(--avr) - 1cqmin);}
@keyframes avf-neon{0%,17%,21%,24%,62%,66%,100%{opacity:1;} 19%,23%,64%{opacity:.3;}}

/* 5 Heartbeat: a glowing edge that beats, with a ring rippling out */
.avf-pulse .avf-f{border:max(2px,2cqmin) solid var(--fx); animation:avf-beat 1.6s ease-in-out infinite;}
.avf-pulse .avf-f::before{inset:-1cqmin; border:max(1px,1.2cqmin) solid var(--fx); animation:avf-ripple 1.6s ease-out infinite;}
@keyframes avf-beat{0%,40%,100%{box-shadow:0 0 1cqmin var(--fx), inset 0 0 2cqmin var(--fx);} 12%,30%{box-shadow:0 0 6cqmin var(--fx), inset 0 0 8cqmin var(--fx);}}
@keyframes avf-ripple{0%{transform:scale(1); opacity:.9;} 70%,100%{transform:scale(1.14); opacity:0;}}

/* 6 Rainbow: a spinning rainbow edge */
.avf-rainbow .avf-f::before{inset:-60%; background:conic-gradient(#ff4d4d,#ffa64d,#ffe24d,#5dff6b,#4dd2ff,#6b6bff,#d44dff,#ff4d4d); animation:avf-spin 3s linear infinite;}
@keyframes avf-spin{to{transform:rotate(1turn);}}

/* 7 Orbit: a spark racing round a faint track */
.avf-orbit{--rw:3cqmin;}
.avf-orbit .avf-f{background:color-mix(in srgb,var(--fx) 18%,transparent);}
.avf-orbit .avf-f::before{inset:-60%; background:conic-gradient(from 0deg,transparent 0 35%,var(--fx) 92%,#fff 97%,transparent 97.5%); animation:avf-spin 2.2s linear infinite;}
.avf-orbit .avf-o{filter:drop-shadow(0 0 3px var(--fx));}

/* 8 Blood Drip: blood pooled along the top, running down the picture */
.avf-blood .avf-f{box-shadow:inset 0 0 0 max(1px,1.2cqmin) color-mix(in srgb,var(--fx) 80%,#000);}
.avf-blood .avf-f::before{left:0; right:0; top:0; height:13cqmin;
  background:linear-gradient(180deg,color-mix(in srgb,var(--fx) 75%,#fff),var(--fx) 35%,color-mix(in srgb,var(--fx) 60%,#000));
  -webkit-mask:linear-gradient(#000 0 0) top/100% 34% no-repeat,
    radial-gradient(7% 50% at 6% 34%,#000 98%,transparent) , radial-gradient(10% 62% at 21% 30%,#000 98%,transparent),
    radial-gradient(6% 42% at 35% 34%,#000 98%,transparent), radial-gradient(11% 72% at 50% 30%,#000 98%,transparent),
    radial-gradient(7% 46% at 66% 34%,#000 98%,transparent), radial-gradient(9% 80% at 80% 28%,#000 98%,transparent),
    radial-gradient(6% 40% at 94% 34%,#000 98%,transparent);
  mask:linear-gradient(#000 0 0) top/100% 34% no-repeat,
    radial-gradient(7% 50% at 6% 34%,#000 98%,transparent) , radial-gradient(10% 62% at 21% 30%,#000 98%,transparent),
    radial-gradient(6% 42% at 35% 34%,#000 98%,transparent), radial-gradient(11% 72% at 50% 30%,#000 98%,transparent),
    radial-gradient(7% 46% at 66% 34%,#000 98%,transparent), radial-gradient(9% 80% at 80% 28%,#000 98%,transparent),
    radial-gradient(6% 40% at 94% 34%,#000 98%,transparent);}
.avf-blood .avp{top:6cqmin; width:var(--w,2.4cqmin); height:0; border-radius:0 0 3cqmin 3cqmin;
  background:linear-gradient(90deg,color-mix(in srgb,var(--fx) 70%,#000),var(--fx) 45%,color-mix(in srgb,var(--fx) 80%,#fff) 60%,var(--fx));
  animation:avf-bleed var(--d,5s) cubic-bezier(.5,0,.8,.6) infinite; animation-delay:calc(var(--i) * -1.7s);}
.avf-blood .avp::after{left:50%; top:calc(100% - 1.5cqmin); width:calc(var(--w,2.4cqmin) * 1.9); height:calc(var(--w,2.4cqmin) * 2.3); transform:translateX(-50%);
  background:inherit; border-radius:50% 50% 50% 50% / 38% 38% 62% 62%;}
.avf-blood .avp:nth-of-type(1){left:10%; --w:2.2cqmin; --h:30cqmin; --d:5.5s;}
.avf-blood .avp:nth-of-type(2){left:23%; --w:3.2cqmin; --h:52cqmin; --d:7s;}
.avf-blood .avp:nth-of-type(3){left:49%; --w:2.6cqmin; --h:38cqmin; --d:6s;}
.avf-blood .avp:nth-of-type(4){left:62%; --w:1.8cqmin; --h:22cqmin; --d:4.6s;}
.avf-blood .avp:nth-of-type(5){left:80%; --w:3cqmin; --h:60cqmin; --d:8s;}
@keyframes avf-bleed{0%{height:0; opacity:1;} 60%{height:var(--h,40cqmin); opacity:1;} 85%{height:var(--h,40cqmin); opacity:1;} 100%{height:var(--h,40cqmin); opacity:0;}}

/* 9 Hellfire: flames licking up the bottom of the picture */
.avf-hellfire{--rw:2.4cqmin;}
.avf-hellfire .avf-f::before{background:linear-gradient(0deg,#ffe05a,var(--fx) 25%,#5a0f00 70%,#1a0400);}
.avf-hellfire .avf-f::after{inset:0; background:linear-gradient(0deg,color-mix(in srgb,var(--fx) 55%,transparent),transparent 45%); animation:avf-heat 1.2s ease-in-out infinite alternate;}
.avf-hellfire .avp{bottom:-3cqmin; width:var(--w,20cqmin); height:var(--h,34cqmin); transform-origin:50% 100%;
  border-radius:50% 50% 45% 45% / 70% 70% 30% 30%;
  background:radial-gradient(60% 55% at 50% 78%,#fff6b0 0,#ffd23a 25%,var(--fx) 55%,color-mix(in srgb,var(--fx) 40%,transparent) 75%,transparent 80%);
  animation:avf-flame var(--d,1s) ease-in-out infinite alternate; animation-delay:calc(var(--i) * -.37s); mix-blend-mode:screen;}
.avf-hellfire .avp:nth-of-type(1){left:-6%; --h:30cqmin; --d:.9s;} .avf-hellfire .avp:nth-of-type(2){left:10%; --h:44cqmin; --w:24cqmin; --d:1.2s;}
.avf-hellfire .avp:nth-of-type(3){left:30%; --h:32cqmin; --d:.8s;} .avf-hellfire .avp:nth-of-type(4){left:46%; --h:48cqmin; --w:24cqmin; --d:1.1s;}
.avf-hellfire .avp:nth-of-type(5){left:66%; --h:34cqmin; --d:.95s;} .avf-hellfire .avp:nth-of-type(6){left:84%; --h:42cqmin; --w:22cqmin; --d:1.25s;}
@keyframes avf-flame{0%{transform:scale(1,.85) skewX(-4deg); opacity:.85;} 50%{transform:scale(.9,1.08) skewX(3deg);} 100%{transform:scale(1.05,.95) skewX(-2deg); opacity:1;}}
@keyframes avf-heat{to{opacity:.55;}}

/* 10 Embers: a smoldering edge with embers floating up */
.avf-embers .avf-f{box-shadow:inset 0 0 0 max(1px,1.6cqmin) color-mix(in srgb,var(--fx) 70%,#000), inset 0 -8cqmin 10cqmin -4cqmin var(--fx); animation:avf-smolder 2.4s ease-in-out infinite alternate;}
.avf-embers .avp{bottom:4cqmin; left:calc(4% + var(--i) * 12.5%); width:var(--s,4cqmin); height:var(--s,4cqmin); border-radius:50%; background:#ffe7a3;
  box-shadow:0 0 1.5cqmin .6cqmin var(--fx), 0 0 4cqmin var(--fx); animation:avf-rise var(--d,3s) ease-out infinite; animation-delay:calc(var(--i) * -.53s);}
.avf-embers .avp:nth-of-type(odd){--s:3cqmin; --d:3.6s; animation-name:avf-rise-b;}
.avf-embers .avp:nth-of-type(3n){--s:5cqmin; --d:2.6s;}
@keyframes avf-smolder{to{box-shadow:inset 0 0 0 max(1px,1.6cqmin) var(--fx), inset 0 -10cqmin 14cqmin -4cqmin var(--fx);}}
@keyframes avf-rise{0%{transform:translate(0,0) scale(1); opacity:0;} 12%{opacity:1;} 100%{transform:translate(6cqmin,-78cqmin) scale(.3); opacity:0;}}
@keyframes avf-rise-b{0%{transform:translate(0,0) scale(1); opacity:0;} 12%{opacity:1;} 100%{transform:translate(-7cqmin,-68cqmin) scale(.3); opacity:0;}}

/* 11 Frostbite: an icy edge, icicles and falling snow */
.avf-frost{--rw:3.4cqmin;}
.avf-frost .avf-f::before{background:linear-gradient(135deg,#fff,var(--fx) 30%,color-mix(in srgb,var(--fx) 55%,#1b4a6b) 55%,#fff 75%,var(--fx));}
.avf-frost .avf-f::after{left:0; right:0; top:2cqmin; height:17cqmin; background:linear-gradient(180deg,#fff,var(--fx) 40%,color-mix(in srgb,var(--fx) 40%,transparent));
  clip-path:polygon(0 0,100% 0,100% 12%,97% 42%,94% 14%,90% 30%,86% 12%,81% 70%,76% 14%,71% 34%,66% 12%,60% 52%,55% 12%,50% 26%,45% 12%,40% 88%,35% 12%,30% 30%,25% 12%,20% 60%,15% 12%,10% 38%,6% 12%,3% 24%,0 12%);
  opacity:.92;}
.avf-frost .avf-o{box-shadow:inset 0 0 6cqmin color-mix(in srgb,var(--fx) 60%,transparent);}
.avf-frost .avp{top:-4cqmin; left:calc(6% + var(--i) * 16%); width:var(--s,2.6cqmin); height:var(--s,2.6cqmin); border-radius:50%; background:#fff; box-shadow:0 0 1cqmin var(--fx);
  animation:avf-snow var(--d,4s) linear infinite; animation-delay:calc(var(--i) * -.9s);}
.avf-frost .avp:nth-of-type(even){--s:1.8cqmin; --d:5.2s; animation-name:avf-snow-b;}
@keyframes avf-snow{0%{transform:translate(0,0); opacity:0;} 10%{opacity:1;} 50%{transform:translate(4cqmin,52cqmin);} 90%{opacity:1;} 100%{transform:translate(-2cqmin,104cqmin); opacity:0;}}
@keyframes avf-snow-b{0%{transform:translate(0,0); opacity:0;} 10%{opacity:1;} 50%{transform:translate(-4cqmin,50cqmin);} 90%{opacity:1;} 100%{transform:translate(3cqmin,104cqmin); opacity:0;}}

/* 12 Iced Out: a band of diamonds that flash */
.avf-bling{--rw:6.4cqmin;}
.avf-bling .avf-f::before{background:radial-gradient(circle at 40% 38%,#fff 0 14%,var(--fx) 28%,color-mix(in srgb,var(--fx) 50%,#0b2230) 52%,#dfe7ec 56%,#9aa4ab 64%,#2a3036 72%) 0 0/6.4cqmin 6.4cqmin #2a3036;}
.avf-bling .avp{width:10cqmin; height:10cqmin; background:#fff; clip-path:polygon(50% 0,58% 42%,100% 50%,58% 58%,50% 100%,42% 58%,0 50%,42% 42%);
  filter:drop-shadow(0 0 1.5cqmin var(--fx)); animation:avf-twinkle 2.2s ease-in-out infinite; animation-delay:calc(var(--i) * -.55s);}
.avf-bling .avp:nth-of-type(1){left:-2cqmin; top:-2cqmin;} .avf-bling .avp:nth-of-type(2){right:14%; top:-3cqmin;}
.avf-bling .avp:nth-of-type(3){right:-3cqmin; bottom:22%;} .avf-bling .avp:nth-of-type(4){left:20%; bottom:-3cqmin;}
@keyframes avf-twinkle{0%,100%{transform:scale(.1) rotate(0); opacity:0;} 45%{transform:scale(1) rotate(45deg); opacity:1;} 60%{transform:scale(.8) rotate(60deg); opacity:.9;}}

/* 13 Money Stack: a banded edge of bills, and bills raining down */
.avf-money{--rw:5.2cqmin;}
.avf-money .avf-f::before{background:repeating-linear-gradient(90deg,rgba(0,0,0,.22) 0 max(1px,.6cqmin),transparent 0 5cqmin),
  repeating-linear-gradient(0deg,rgba(0,0,0,.22) 0 max(1px,.6cqmin),transparent 0 5cqmin),
  linear-gradient(135deg,color-mix(in srgb,var(--fx) 60%,#fff),var(--fx) 40%,color-mix(in srgb,var(--fx) 55%,#000));
  box-shadow:inset 0 0 0 max(1px,.6cqmin) rgba(0,0,0,.5);}
.avf-money .avp{top:-12cqmin; left:calc(var(--i) * 19% - 2%); width:17cqmin; height:8.5cqmin; border-radius:.8cqmin;
  background:radial-gradient(circle,transparent 0 22%,color-mix(in srgb,var(--fx) 70%,#fff) 23% 30%,transparent 31%),color-mix(in srgb,var(--fx) 85%,#fff);
  border:max(1px,.6cqmin) solid color-mix(in srgb,var(--fx) 50%,#000); box-shadow:inset 0 0 0 max(1px,.8cqmin) color-mix(in srgb,var(--fx) 60%,#fff);
  animation:avf-bill var(--d,3.4s) linear infinite; animation-delay:calc(var(--i) * -.7s);}
.avf-money .avp::before{content:"$"; inset:0; display:grid; place-items:center; font:bold 6cqmin/1 Arial,sans-serif; color:color-mix(in srgb,var(--fx) 40%,#000);}
.avf-money .avp:nth-of-type(even){--d:4.1s; animation-name:avf-bill-b;}
@keyframes avf-bill{0%{transform:translate(0,0) rotate(-20deg) rotateX(0); opacity:0;} 10%{opacity:1;} 50%{transform:translate(6cqmin,55cqmin) rotate(25deg) rotateX(180deg);} 88%{opacity:1;} 100%{transform:translate(-2cqmin,118cqmin) rotate(-15deg) rotateX(360deg); opacity:0;}}
@keyframes avf-bill-b{0%{transform:translate(0,0) rotate(15deg) rotateY(0); opacity:0;} 10%{opacity:1;} 50%{transform:translate(-6cqmin,58cqmin) rotate(-25deg) rotateY(180deg);} 88%{opacity:1;} 100%{transform:translate(3cqmin,118cqmin) rotate(20deg) rotateY(360deg); opacity:0;}}

/* 14 Shot Up: bullet holes and cracked glass */
.avf-shotup .avf-f{box-shadow:inset 0 0 0 max(1px,1.6cqmin) #50565c, inset 0 0 0 max(2px,2.2cqmin) #1a1c1e, inset 0 0 8cqmin rgba(0,0,0,.45);}
.avf-shotup .avp{width:var(--s,42cqmin); height:var(--s,42cqmin); background:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%22-50%20-50%20100%20100%22%20fill%3D%22none%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M0.0%200.0%20L9.3%20-0.9%20L18.7%200.1%20L27.6%20-4.6%22%20stroke%3D%22%23000%22%20stroke-opacity%3D%22.45%22%20stroke-width%3D%222.2%22%2F%3E%3Cpath%20d%3D%22M0.0%200.0%20L9.3%20-0.9%20L18.7%200.1%20L27.6%20-4.6%22%20stroke%3D%22%23fff%22%20stroke-opacity%3D%22.85%22%20stroke-width%3D%221%22%2F%3E%3Cpath%20d%3D%22M0.0%200.0%20L9.3%204.5%20L17.7%2010.5%20L27.9%2013.3%22%20stroke%3D%22%23000%22%20stroke-opacity%3D%22.45%22%20stroke-width%3D%222.2%22%2F%3E%3Cpath%20d%3D%22M0.0%200.0%20L9.3%204.5%20L17.7%2010.5%20L27.9%2013.3%22%20stroke%3D%22%23fff%22%20stroke-opacity%3D%22.85%22%20stroke-width%3D%221%22%2F%3E%3Cpath%20d%3D%22M0.0%200.0%20L2.9%2011.2%20L10.6%2020.6%20L9.5%2033.4%22%20stroke%3D%22%23000%22%20stroke-opacity%3D%22.45%22%20stroke-width%3D%222.2%22%2F%3E%3Cpath%20d%3D%22M0.0%200.0%20L2.9%2011.2%20L10.6%2020.6%20L9.5%2033.4%22%20stroke%3D%22%23fff%22%20stroke-opacity%3D%22.85%22%20stroke-width%3D%221%22%2F%3E%3Cpath%20d%3D%22M0.0%200.0%20L1.3%2010.7%20L2.8%2021.4%20L2.7%2032.3%22%20stroke%3D%22%23000%22%20stroke-opacity%3D%22.45%22%20stroke-width%3D%222.2%22%2F%3E%3Cpath%20d%3D%22M0.0%200.0%20L1.3%2010.7%20L2.8%2021.4%20L2.7%2032.3%22%20stroke%3D%22%23fff%22%20stroke-opacity%3D%22.85%22%20stroke-width%3D%221%22%2F%3E%3Cpath%20d%3D%22M0.0%200.0%20L-8.9%2011.7%20L-20.0%2021.5%20L-30.4%2031.8%22%20stroke%3D%22%23000%22%20stroke-opacity%3D%22.45%22%20stroke-width%3D%222.2%22%2F%3E%3Cpath%20d%3D%22M0.0%200.0%20L-8.9%2011.7%20L-20.0%2021.5%20L-30.4%2031.8%22%20stroke%3D%22%23fff%22%20stroke-opacity%3D%22.85%22%20stroke-width%3D%221%22%2F%3E%3Cpath%20d%3D%22M0.0%200.0%20L-10.8%203.7%20L-20.5%209.9%20L-30.8%2014.9%22%20stroke%3D%22%23000%22%20stroke-opacity%3D%22.45%22%20stroke-width%3D%222.2%22%2F%3E%3Cpath%20d%3D%22M0.0%200.0%20L-10.8%203.7%20L-20.5%209.9%20L-30.8%2014.9%22%20stroke%3D%22%23fff%22%20stroke-opacity%3D%22.85%22%20stroke-width%3D%221%22%2F%3E%3Cpath%20d%3D%22M0.0%200.0%20L-10.1%20-1.5%20L-20.3%20-1.7%20L-30.5%20-1.7%22%20stroke%3D%22%23000%22%20stroke-opacity%3D%22.45%22%20stroke-width%3D%222.2%22%2F%3E%3Cpath%20d%3D%22M0.0%200.0%20L-10.1%20-1.5%20L-20.3%20-1.7%20L-30.5%20-1.7%22%20stroke%3D%22%23fff%22%20stroke-opacity%3D%22.85%22%20stroke-width%3D%221%22%2F%3E%3Cpath%20d%3D%22M0.0%200.0%20L-8.6%20-9.7%20L-17.9%20-18.8%20L-23.2%20-31.2%22%20stroke%3D%22%23000%22%20stroke-opacity%3D%22.45%22%20stroke-width%3D%222.2%22%2F%3E%3Cpath%20d%3D%22M0.0%200.0%20L-8.6%20-9.7%20L-17.9%20-18.8%20L-23.2%20-31.2%22%20stroke%3D%22%23fff%22%20stroke-opacity%3D%22.85%22%20stroke-width%3D%221%22%2F%3E%3Cpath%20d%3D%22M0.0%200.0%20L-5.4%20-12.7%20L-8.6%20-26.2%20L-13.4%20-39.1%22%20stroke%3D%22%23000%22%20stroke-opacity%3D%22.45%22%20stroke-width%3D%222.2%22%2F%3E%3Cpath%20d%3D%22M0.0%200.0%20L-5.4%20-12.7%20L-8.6%20-26.2%20L-13.4%20-39.1%22%20stroke%3D%22%23fff%22%20stroke-opacity%3D%22.85%22%20stroke-width%3D%221%22%2F%3E%3Cpath%20d%3D%22M0.0%200.0%20L6.7%20-13.5%20L10.3%20-28.4%20L22.4%20-39.3%22%20stroke%3D%22%23000%22%20stroke-opacity%3D%22.45%22%20stroke-width%3D%222.2%22%2F%3E%3Cpath%20d%3D%22M0.0%200.0%20L6.7%20-13.5%20L10.3%20-28.4%20L22.4%20-39.3%22%20stroke%3D%22%23fff%22%20stroke-opacity%3D%22.85%22%20stroke-width%3D%221%22%2F%3E%3Cpath%20d%3D%22M0.0%200.0%20L6.8%20-6.6%20L14.7%20-12.1%20L19.2%20-21.2%22%20stroke%3D%22%23000%22%20stroke-opacity%3D%22.45%22%20stroke-width%3D%222.2%22%2F%3E%3Cpath%20d%3D%22M0.0%200.0%20L6.8%20-6.6%20L14.7%20-12.1%20L19.2%20-21.2%22%20stroke%3D%22%23fff%22%20stroke-opacity%3D%22.85%22%20stroke-width%3D%221%22%2F%3E%3Cpath%20d%3D%22M12.0%20-0.9%20L13.4%206.1%20M5.6%2014.5%20L0.5%2013.2%20M-9.5%2010.7%20L-13.0%204.6%20M-9.6%20-11.1%20L-4.0%20-11.5%22%20stroke%3D%22%23fff%22%20stroke-opacity%3D%22.7%22%20stroke-width%3D%22.9%22%2F%3E%3Cpath%20d%3D%22M21.1%209.6%20L9.0%2023.6%20M8.5%2022.2%20L0.8%2021.6%20M0.8%2020.8%20L-17.3%2019.3%20M-14.8%2016.5%20L-21.9%207.8%20M-23.5%20-2.4%20L-15.9%20-18.5%20M17.1%20-16.0%20L22.9%20-1.7%22%20stroke%3D%22%23fff%22%20stroke-opacity%3D%22.7%22%20stroke-width%3D%22.9%22%2F%3E%3Ccircle%20r%3D%229%22%20fill%3D%22%23fff%22%20fill-opacity%3D%22.25%22%2F%3E%3Ccircle%20r%3D%226.5%22%20fill%3D%22%231a1a1a%22%20stroke%3D%22%236b6b6b%22%20stroke-width%3D%221.4%22%2F%3E%3Ccircle%20r%3D%223.6%22%20fill%3D%22%23000%22%2F%3E%3Ccircle%20cx%3D%22-2%22%20cy%3D%22-2%22%20r%3D%221.2%22%20fill%3D%22%23fff%22%20fill-opacity%3D%22.35%22%2F%3E%3C%2Fsvg%3E") no-repeat center/contain; transform:rotate(var(--r,0deg));}
.avf-shotup .avp:nth-of-type(1){right:-4cqmin; top:-2cqmin; --s:44cqmin; --r:15deg;}
.avf-shotup .avp:nth-of-type(2){left:-6cqmin; bottom:6cqmin; --s:36cqmin; --r:-70deg;}
.avf-shotup .avp:nth-of-type(3){right:12cqmin; bottom:-6cqmin; --s:26cqmin; --r:130deg;}
.avf-shotup .avp::after{left:50%; top:50%; width:5cqmin; height:5cqmin; margin:-2.5cqmin; border-radius:50%; background:#fff; opacity:0; animation:avf-glint 5s ease-out infinite; animation-delay:calc(var(--i) * 1.6s);}
@keyframes avf-glint{0%,90%,100%{opacity:0; transform:scale(.2);} 93%{opacity:.9; transform:scale(2.2);}}

/* 15 Crime Scene: police tape across two corners */
.avf-crimescene .avf-o{overflow:hidden;}
.avf-crimescene .avp{width:110cqmin; height:11cqmin; background:#f7d117; border-block:max(1px,1cqmin) solid #111; box-shadow:0 .8cqmin 1.6cqmin rgba(0,0,0,.55);
  white-space:nowrap; overflow:hidden; display:flex; align-items:center; justify-content:center;}
.avf-crimescene .avp::before{position:static; flex:none; content:"DO NOT CROSS \2022 CRIME SCENE \2022 DO NOT CROSS";
  font:800 6.4cqmin/1 var(--display); letter-spacing:.3cqmin; color:#111;}
.avf-crimescene .avp:nth-of-type(1){left:-33cqmin; top:16.5cqmin; transform:rotate(-40deg);}
.avf-crimescene .avp:nth-of-type(2){right:-33cqmin; bottom:16.5cqmin; transform:rotate(-40deg);}
.avf-crimescene .avp:nth-of-type(2)::before{content:"CRIME SCENE \2022 DO NOT CROSS \2022 CRIME SCENE";}
.avf-crimescene .avf-f{box-shadow:inset 0 0 0 max(1px,1.4cqmin) #f7d117, inset 0 0 0 max(2px,2cqmin) #111;}

/* 16 Wanted Poster: an old paper poster, WANTED on top and DEAD OR ALIVE underneath */
.avf-wanted .avf-f{border-style:solid; border-color:#d9bf85; border-width:17cqmin 5cqmin 13cqmin;
  background:linear-gradient(rgba(120,80,20,.18),rgba(120,80,20,.18)) padding-box;
  box-shadow:inset 0 0 0 max(1px,.6cqmin) #5a3d12, 0 0 0 max(1px,.6cqmin) #8a6a2a;}
.avf-wanted .avf-f::before{inset:-17cqmin -5cqmin -13cqmin; background:radial-gradient(circle at 12% 20%,rgba(120,80,20,.3),transparent 30%),radial-gradient(circle at 85% 90%,rgba(120,80,20,.35),transparent 28%),radial-gradient(circle at 70% 8%,rgba(90,60,10,.25),transparent 18%);
  -webkit-mask:linear-gradient(#000 0 0) top/100% 17cqmin no-repeat,linear-gradient(#000 0 0) bottom/100% 13cqmin no-repeat,linear-gradient(#000 0 0) left/5cqmin 100% no-repeat,linear-gradient(#000 0 0) right/5cqmin 100% no-repeat;
  mask:linear-gradient(#000 0 0) top/100% 17cqmin no-repeat,linear-gradient(#000 0 0) bottom/100% 13cqmin no-repeat,linear-gradient(#000 0 0) left/5cqmin 100% no-repeat,linear-gradient(#000 0 0) right/5cqmin 100% no-repeat;}
.avf-wanted .avp{left:0; right:0; text-align:center; color:#3b2408; font-family:Georgia,'Times New Roman',serif; font-weight:bold; white-space:nowrap;}
.avf-wanted .avp:nth-of-type(1){top:2cqmin; font-size:14cqmin; letter-spacing:1.4cqmin;}
.avf-wanted .avp:nth-of-type(1)::before{content:"WANTED"; position:static;}
.avf-wanted .avp:nth-of-type(2){bottom:3.4cqmin; font-size:7cqmin; letter-spacing:.8cqmin;}
.avf-wanted .avp:nth-of-type(2)::before{content:"DEAD OR ALIVE"; position:static;}

/* 17 Mugshot: a booking board with the player's number, and a camera flash */
.avf-mugshot .avf-f{background:repeating-linear-gradient(0deg,rgba(255,255,255,.55) 0 max(1px,.5cqmin),transparent 0 10cqmin) left/4cqmin 100% no-repeat,
  repeating-linear-gradient(0deg,rgba(255,255,255,.55) 0 max(1px,.5cqmin),transparent 0 10cqmin) right/4cqmin 100% no-repeat;}
.avf-mugshot .avf-f::after{inset:0; background:#fff; opacity:0; animation:avf-flash 7s ease-out infinite;}
.avf-mugshot .avp{left:50%; bottom:3cqmin; transform:translateX(-50%); min-width:56cqmin; padding:1.6cqmin 3cqmin 2cqmin; background:#141414; border:max(1px,.7cqmin) solid #bbb;
  color:#f2f2f2; text-align:center; font:bold 8cqmin/1 'Courier New',monospace; white-space:nowrap; box-shadow:0 1cqmin 2cqmin rgba(0,0,0,.6);}
.avf-mugshot .avp::before{position:static; content:"CITY POLICE DEPT"; font:bold 4cqmin/1.3 Arial,sans-serif; letter-spacing:.3cqmin; color:#bbb;}
.avf-mugshot .avp::after{position:static; content:attr(data-n);}
@keyframes avf-flash{0%,93%,100%{opacity:0;} 94%{opacity:.8;}}

/* 18 Film Noir: black and white, between two strips of running film */
.avf-noir > img{filter:grayscale(1) contrast(1.2) brightness(.95);}
.avf-noir .avf-f::before,.avf-noir .avf-f::after{top:0; bottom:0; width:11cqmin;
  background:linear-gradient(180deg,#e6dcc4 0 4cqmin,transparent 4cqmin) 50% 0/4.4cqmin 8cqmin repeat-y,#0c0c0c;
  box-shadow:0 0 2cqmin rgba(0,0,0,.8); animation:avf-film 1.1s linear infinite;}
.avf-noir .avf-f::before{left:0;} .avf-noir .avf-f::after{right:0;}
.avf-noir .avp{inset:0; background:repeating-linear-gradient(0deg,rgba(255,255,255,.05) 0 1px,transparent 1px 3px); animation:avf-grain .3s steps(2) infinite;}
.avf-noir .avp::after{left:30%; top:0; bottom:0; width:max(1px,.4cqmin); background:rgba(255,255,255,.35); animation:avf-scratch 3.1s steps(1) infinite;}
@keyframes avf-film{to{background-position:50% 8cqmin,0 0;}}
@keyframes avf-grain{50%{opacity:.5;}}
@keyframes avf-scratch{0%{left:30%; opacity:1;} 20%{left:62%;} 40%{left:47%; opacity:0;} 60%{left:22%; opacity:1;} 80%{left:76%; opacity:0;}}

/* 19 High Roller: green felt, gold trim and a playing card in each corner */
.avf-casino{--rw:5cqmin;}
.avf-casino .avf-f::before{background:radial-gradient(circle at 50% 50%,#1d7a3a,#0c4a20);
  box-shadow:inset 0 0 0 max(1px,.8cqmin) #e2b53e;}
.avf-casino .avp{width:15cqmin; height:20cqmin; border-radius:1.6cqmin; background:#fbfaf5; border:max(1px,.6cqmin) solid #333;
  box-shadow:0 .8cqmin 1.6cqmin rgba(0,0,0,.6); display:grid; place-items:center; font:bold 13cqmin/1 Arial,sans-serif; color:#111;
  animation:avf-flip 6s ease-in-out infinite; animation-delay:calc(var(--i) * 1.5s);}
.avf-casino .avp::before{position:static;}
.avf-casino .avp:nth-of-type(1){left:-4cqmin; top:-4cqmin; --r:-14deg;} .avf-casino .avp:nth-of-type(1)::before{content:"\2660\FE0E";}
.avf-casino .avp:nth-of-type(2){right:-4cqmin; top:-4cqmin; --r:12deg; color:#d0121b;} .avf-casino .avp:nth-of-type(2)::before{content:"\2665\FE0E";}
.avf-casino .avp:nth-of-type(3){left:-4cqmin; bottom:-4cqmin; --r:10deg; color:#d0121b;} .avf-casino .avp:nth-of-type(3)::before{content:"\2666\FE0E";}
.avf-casino .avp:nth-of-type(4){right:-4cqmin; bottom:-4cqmin; --r:-12deg;} .avf-casino .avp:nth-of-type(4)::before{content:"\2663\FE0E";}
@keyframes avf-flip{0%,80%,100%{transform:rotate(var(--r)) rotateY(0);} 90%{transform:rotate(var(--r)) rotateY(180deg);}}

/* 20 Barbed Wire */
.avf-barbed .avf-f{border:max(7px,12cqmin) solid transparent; border-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2090%2090%22%20fill%3D%22none%22%20stroke-linecap%3D%22round%22%3E%3Crect%20x%3D%2211%22%20y%3D%2211%22%20width%3D%2268%22%20height%3D%2268%22%20rx%3D%224%22%20stroke%3D%22%2315181b%22%20stroke-width%3D%226%22%2F%3E%3Crect%20x%3D%2217%22%20y%3D%2217%22%20width%3D%2256%22%20height%3D%2256%22%20rx%3D%224%22%20stroke%3D%22%2315181b%22%20stroke-width%3D%226%22%2F%3E%3Crect%20x%3D%2211%22%20y%3D%2211%22%20width%3D%2268%22%20height%3D%2268%22%20rx%3D%224%22%20stroke%3D%22%23b7c0c8%22%20stroke-width%3D%223%22%2F%3E%3Crect%20x%3D%2217%22%20y%3D%2217%22%20width%3D%2256%22%20height%3D%2256%22%20rx%3D%224%22%20stroke%3D%22%23b7c0c8%22%20stroke-width%3D%223%22%2F%3E%3Cline%20x1%3D%2226%22%20y1%3D%2210%22%20x2%3D%2234%22%20y2%3D%2218%22%20stroke%3D%22%2315181b%22%20stroke-width%3D%225.5%22%2F%3E%3Cline%20x1%3D%2226%22%20y1%3D%2210%22%20x2%3D%2234%22%20y2%3D%2218%22%20stroke%3D%22%23dde3e8%22%20stroke-width%3D%222.6%22%2F%3E%3Cline%20x1%3D%2226%22%20y1%3D%2272%22%20x2%3D%2234%22%20y2%3D%2280%22%20stroke%3D%22%2315181b%22%20stroke-width%3D%225.5%22%2F%3E%3Cline%20x1%3D%2226%22%20y1%3D%2272%22%20x2%3D%2234%22%20y2%3D%2280%22%20stroke%3D%22%23dde3e8%22%20stroke-width%3D%222.6%22%2F%3E%3Cline%20x1%3D%2210%22%20y1%3D%2226%22%20x2%3D%2218%22%20y2%3D%2234%22%20stroke%3D%22%2315181b%22%20stroke-width%3D%225.5%22%2F%3E%3Cline%20x1%3D%2210%22%20y1%3D%2226%22%20x2%3D%2218%22%20y2%3D%2234%22%20stroke%3D%22%23dde3e8%22%20stroke-width%3D%222.6%22%2F%3E%3Cline%20x1%3D%2272%22%20y1%3D%2226%22%20x2%3D%2280%22%20y2%3D%2234%22%20stroke%3D%22%2315181b%22%20stroke-width%3D%225.5%22%2F%3E%3Cline%20x1%3D%2272%22%20y1%3D%2226%22%20x2%3D%2280%22%20y2%3D%2234%22%20stroke%3D%22%23dde3e8%22%20stroke-width%3D%222.6%22%2F%3E%3Cline%20x1%3D%2241%22%20y1%3D%2210%22%20x2%3D%2249%22%20y2%3D%2218%22%20stroke%3D%22%2315181b%22%20stroke-width%3D%225.5%22%2F%3E%3Cline%20x1%3D%2241%22%20y1%3D%2210%22%20x2%3D%2249%22%20y2%3D%2218%22%20stroke%3D%22%23dde3e8%22%20stroke-width%3D%222.6%22%2F%3E%3Cline%20x1%3D%2241%22%20y1%3D%2272%22%20x2%3D%2249%22%20y2%3D%2280%22%20stroke%3D%22%2315181b%22%20stroke-width%3D%225.5%22%2F%3E%3Cline%20x1%3D%2241%22%20y1%3D%2272%22%20x2%3D%2249%22%20y2%3D%2280%22%20stroke%3D%22%23dde3e8%22%20stroke-width%3D%222.6%22%2F%3E%3Cline%20x1%3D%2210%22%20y1%3D%2241%22%20x2%3D%2218%22%20y2%3D%2249%22%20stroke%3D%22%2315181b%22%20stroke-width%3D%225.5%22%2F%3E%3Cline%20x1%3D%2210%22%20y1%3D%2241%22%20x2%3D%2218%22%20y2%3D%2249%22%20stroke%3D%22%23dde3e8%22%20stroke-width%3D%222.6%22%2F%3E%3Cline%20x1%3D%2272%22%20y1%3D%2241%22%20x2%3D%2280%22%20y2%3D%2249%22%20stroke%3D%22%2315181b%22%20stroke-width%3D%225.5%22%2F%3E%3Cline%20x1%3D%2272%22%20y1%3D%2241%22%20x2%3D%2280%22%20y2%3D%2249%22%20stroke%3D%22%23dde3e8%22%20stroke-width%3D%222.6%22%2F%3E%3Cline%20x1%3D%2256%22%20y1%3D%2210%22%20x2%3D%2264%22%20y2%3D%2218%22%20stroke%3D%22%2315181b%22%20stroke-width%3D%225.5%22%2F%3E%3Cline%20x1%3D%2256%22%20y1%3D%2210%22%20x2%3D%2264%22%20y2%3D%2218%22%20stroke%3D%22%23dde3e8%22%20stroke-width%3D%222.6%22%2F%3E%3Cline%20x1%3D%2256%22%20y1%3D%2272%22%20x2%3D%2264%22%20y2%3D%2280%22%20stroke%3D%22%2315181b%22%20stroke-width%3D%225.5%22%2F%3E%3Cline%20x1%3D%2256%22%20y1%3D%2272%22%20x2%3D%2264%22%20y2%3D%2280%22%20stroke%3D%22%23dde3e8%22%20stroke-width%3D%222.6%22%2F%3E%3Cline%20x1%3D%2210%22%20y1%3D%2256%22%20x2%3D%2218%22%20y2%3D%2264%22%20stroke%3D%22%2315181b%22%20stroke-width%3D%225.5%22%2F%3E%3Cline%20x1%3D%2210%22%20y1%3D%2256%22%20x2%3D%2218%22%20y2%3D%2264%22%20stroke%3D%22%23dde3e8%22%20stroke-width%3D%222.6%22%2F%3E%3Cline%20x1%3D%2272%22%20y1%3D%2256%22%20x2%3D%2280%22%20y2%3D%2264%22%20stroke%3D%22%2315181b%22%20stroke-width%3D%225.5%22%2F%3E%3Cline%20x1%3D%2272%22%20y1%3D%2256%22%20x2%3D%2280%22%20y2%3D%2264%22%20stroke%3D%22%23dde3e8%22%20stroke-width%3D%222.6%22%2F%3E%3Cline%20x1%3D%2236%22%20y1%3D%225%22%20x2%3D%2254%22%20y2%3D%2223%22%20stroke%3D%22%2315181b%22%20stroke-width%3D%225%22%2F%3E%3Cline%20x1%3D%2236%22%20y1%3D%225%22%20x2%3D%2254%22%20y2%3D%2223%22%20stroke%3D%22%23d0d7dd%22%20stroke-width%3D%222.4%22%2F%3E%3Cline%20x1%3D%2254%22%20y1%3D%225%22%20x2%3D%2236%22%20y2%3D%2223%22%20stroke%3D%22%2315181b%22%20stroke-width%3D%225%22%2F%3E%3Cline%20x1%3D%2254%22%20y1%3D%225%22%20x2%3D%2236%22%20y2%3D%2223%22%20stroke%3D%22%23d0d7dd%22%20stroke-width%3D%222.4%22%2F%3E%3Cline%20x1%3D%2236%22%20y1%3D%2267%22%20x2%3D%2254%22%20y2%3D%2285%22%20stroke%3D%22%2315181b%22%20stroke-width%3D%225%22%2F%3E%3Cline%20x1%3D%2236%22%20y1%3D%2267%22%20x2%3D%2254%22%20y2%3D%2285%22%20stroke%3D%22%23d0d7dd%22%20stroke-width%3D%222.4%22%2F%3E%3Cline%20x1%3D%2254%22%20y1%3D%2267%22%20x2%3D%2236%22%20y2%3D%2285%22%20stroke%3D%22%2315181b%22%20stroke-width%3D%225%22%2F%3E%3Cline%20x1%3D%2254%22%20y1%3D%2267%22%20x2%3D%2236%22%20y2%3D%2285%22%20stroke%3D%22%23d0d7dd%22%20stroke-width%3D%222.4%22%2F%3E%3Cline%20x1%3D%225%22%20y1%3D%2236%22%20x2%3D%2223%22%20y2%3D%2254%22%20stroke%3D%22%2315181b%22%20stroke-width%3D%225%22%2F%3E%3Cline%20x1%3D%225%22%20y1%3D%2236%22%20x2%3D%2223%22%20y2%3D%2254%22%20stroke%3D%22%23d0d7dd%22%20stroke-width%3D%222.4%22%2F%3E%3Cline%20x1%3D%2223%22%20y1%3D%2236%22%20x2%3D%225%22%20y2%3D%2254%22%20stroke%3D%22%2315181b%22%20stroke-width%3D%225%22%2F%3E%3Cline%20x1%3D%2223%22%20y1%3D%2236%22%20x2%3D%225%22%20y2%3D%2254%22%20stroke%3D%22%23d0d7dd%22%20stroke-width%3D%222.4%22%2F%3E%3Cline%20x1%3D%2267%22%20y1%3D%2236%22%20x2%3D%2285%22%20y2%3D%2254%22%20stroke%3D%22%2315181b%22%20stroke-width%3D%225%22%2F%3E%3Cline%20x1%3D%2267%22%20y1%3D%2236%22%20x2%3D%2285%22%20y2%3D%2254%22%20stroke%3D%22%23d0d7dd%22%20stroke-width%3D%222.4%22%2F%3E%3Cline%20x1%3D%2285%22%20y1%3D%2236%22%20x2%3D%2267%22%20y2%3D%2254%22%20stroke%3D%22%2315181b%22%20stroke-width%3D%225%22%2F%3E%3Cline%20x1%3D%2285%22%20y1%3D%2236%22%20x2%3D%2267%22%20y2%3D%2254%22%20stroke%3D%22%23d0d7dd%22%20stroke-width%3D%222.4%22%2F%3E%3Cline%20x1%3D%225%22%20y1%3D%225%22%20x2%3D%2223%22%20y2%3D%2223%22%20stroke%3D%22%2315181b%22%20stroke-width%3D%225%22%2F%3E%3Cline%20x1%3D%225%22%20y1%3D%225%22%20x2%3D%2223%22%20y2%3D%2223%22%20stroke%3D%22%23d0d7dd%22%20stroke-width%3D%222.4%22%2F%3E%3Cline%20x1%3D%2223%22%20y1%3D%225%22%20x2%3D%225%22%20y2%3D%2223%22%20stroke%3D%22%2315181b%22%20stroke-width%3D%225%22%2F%3E%3Cline%20x1%3D%2223%22%20y1%3D%225%22%20x2%3D%225%22%20y2%3D%2223%22%20stroke%3D%22%23d0d7dd%22%20stroke-width%3D%222.4%22%2F%3E%3Cline%20x1%3D%2267%22%20y1%3D%225%22%20x2%3D%2285%22%20y2%3D%2223%22%20stroke%3D%22%2315181b%22%20stroke-width%3D%225%22%2F%3E%3Cline%20x1%3D%2267%22%20y1%3D%225%22%20x2%3D%2285%22%20y2%3D%2223%22%20stroke%3D%22%23d0d7dd%22%20stroke-width%3D%222.4%22%2F%3E%3Cline%20x1%3D%2285%22%20y1%3D%225%22%20x2%3D%2267%22%20y2%3D%2223%22%20stroke%3D%22%2315181b%22%20stroke-width%3D%225%22%2F%3E%3Cline%20x1%3D%2285%22%20y1%3D%225%22%20x2%3D%2267%22%20y2%3D%2223%22%20stroke%3D%22%23d0d7dd%22%20stroke-width%3D%222.4%22%2F%3E%3Cline%20x1%3D%225%22%20y1%3D%2267%22%20x2%3D%2223%22%20y2%3D%2285%22%20stroke%3D%22%2315181b%22%20stroke-width%3D%225%22%2F%3E%3Cline%20x1%3D%225%22%20y1%3D%2267%22%20x2%3D%2223%22%20y2%3D%2285%22%20stroke%3D%22%23d0d7dd%22%20stroke-width%3D%222.4%22%2F%3E%3Cline%20x1%3D%2223%22%20y1%3D%2267%22%20x2%3D%225%22%20y2%3D%2285%22%20stroke%3D%22%2315181b%22%20stroke-width%3D%225%22%2F%3E%3Cline%20x1%3D%2223%22%20y1%3D%2267%22%20x2%3D%225%22%20y2%3D%2285%22%20stroke%3D%22%23d0d7dd%22%20stroke-width%3D%222.4%22%2F%3E%3Cline%20x1%3D%2267%22%20y1%3D%2267%22%20x2%3D%2285%22%20y2%3D%2285%22%20stroke%3D%22%2315181b%22%20stroke-width%3D%225%22%2F%3E%3Cline%20x1%3D%2267%22%20y1%3D%2267%22%20x2%3D%2285%22%20y2%3D%2285%22%20stroke%3D%22%23d0d7dd%22%20stroke-width%3D%222.4%22%2F%3E%3Cline%20x1%3D%2285%22%20y1%3D%2267%22%20x2%3D%2267%22%20y2%3D%2285%22%20stroke%3D%22%2315181b%22%20stroke-width%3D%225%22%2F%3E%3Cline%20x1%3D%2285%22%20y1%3D%2267%22%20x2%3D%2267%22%20y2%3D%2285%22%20stroke%3D%22%23d0d7dd%22%20stroke-width%3D%222.4%22%2F%3E%3C%2Fsvg%3E") 30 round; filter:drop-shadow(0 .6cqmin .6cqmin rgba(0,0,0,.7));}

/* 21 Glitch: red and cyan copies of the edge that jump, and a bad signal now and then */
.avf-glitch .avf-f::before,.avf-glitch .avf-f::after{inset:0; border:max(2px,2.2cqmin) solid; mix-blend-mode:screen;}
.avf-glitch .avf-f::before{border-color:#ff2a4d; animation:avf-gl-a 3.2s steps(1) infinite;}
.avf-glitch .avf-f::after{border-color:#29f3ff; animation:avf-gl-b 3.2s steps(1) infinite;}
.avf-glitch .avp{left:0; right:0; height:9cqmin; top:30%; background:linear-gradient(90deg,rgba(255,42,77,.55),rgba(41,243,255,.55) 40%,rgba(255,255,255,.4) 60%,rgba(255,42,77,.5));
  mix-blend-mode:screen; opacity:0; animation:avf-gl-bar 3.2s steps(1) infinite;}
.avf-glitch .avp::before{inset:0; background:repeating-linear-gradient(0deg,rgba(0,0,0,.35) 0 1px,transparent 1px 3px);}
.avf-glitch .avf-o{animation:avf-gl-shake 3.2s steps(1) infinite;}
@keyframes avf-gl-a{0%,100%{transform:translate(-1.2cqmin,0);} 80%{transform:translate(-3.5cqmin,1cqmin); clip-path:inset(0 0 60% 0);} 84%{transform:translate(2cqmin,0); clip-path:inset(40% 0 0 0);} 88%{transform:translate(-1.2cqmin,0); clip-path:none;}}
@keyframes avf-gl-b{0%,100%{transform:translate(1.2cqmin,0);} 80%{transform:translate(3.5cqmin,-1cqmin); clip-path:inset(50% 0 0 0);} 84%{transform:translate(-2cqmin,0); clip-path:inset(0 0 45% 0);} 88%{transform:translate(1.2cqmin,0); clip-path:none;}}
@keyframes avf-gl-bar{0%,100%{opacity:0;} 80%{opacity:1; top:22%;} 83%{top:58%; height:6cqmin;} 86%{top:74%; height:12cqmin;} 89%{opacity:0;}}
@keyframes avf-gl-shake{0%,100%{transform:none;} 81%{transform:translate(.8cqmin,0) skewX(-2deg);} 85%{transform:translate(-.8cqmin,0);} 88%{transform:none;}}

/* 22 Cigar Smoke: a dark vignette with smoke curling up across the picture */
.avf-smoke .avf-f{box-shadow:inset 0 0 12cqmin 2cqmin rgba(0,0,0,.75);}
.avf-smoke .avp{bottom:-10cqmin; left:calc(var(--i) * 22% - 10%); width:40cqmin; height:40cqmin; border-radius:50%;
  background:radial-gradient(circle,color-mix(in srgb,var(--fx) 70%,transparent) 0,color-mix(in srgb,var(--fx) 25%,transparent) 45%,transparent 68%);
  filter:blur(1.5cqmin); animation:avf-smoke var(--d,6s) ease-out infinite; animation-delay:calc(var(--i) * -1.3s);}
.avf-smoke .avp:nth-of-type(even){--d:7.5s; animation-name:avf-smoke-b;}
@keyframes avf-smoke{0%{transform:translate(0,0) scale(.3); opacity:0;} 20%{opacity:.75;} 60%{transform:translate(8cqmin,-50cqmin) scale(1);} 100%{transform:translate(-4cqmin,-100cqmin) scale(1.5); opacity:0;}}
@keyframes avf-smoke-b{0%{transform:translate(0,0) scale(.3); opacity:0;} 20%{opacity:.65;} 60%{transform:translate(-8cqmin,-46cqmin) scale(1.1);} 100%{transform:translate(6cqmin,-96cqmin) scale(1.6); opacity:0;}}

/* 23 Sweetheart: a rounded pink edge, hearts floating up and a heart that beats in the corner */
.avf-hearts .avf-f{border:max(2px,2.6cqmin) solid var(--fx); border-radius:var(--avr); box-shadow:0 0 2cqmin var(--fx), inset 0 0 4cqmin color-mix(in srgb,var(--fx) 60%,transparent);}
.avf-hearts .avp{bottom:2cqmin; left:calc(var(--i) * 17% + 2%); font-size:var(--s,20cqmin); color:var(--fx); text-shadow:0 0 1.5cqmin #fff;
  animation:avf-heart var(--d,3.4s) ease-in infinite; animation-delay:calc(var(--i) * -.62s);}
.avf-hearts .avp::before{position:static; content:"\2665\FE0E";}
.avf-hearts .avp:nth-of-type(odd){--s:15cqmin; --d:4s; animation-name:avf-heart-b;}
.avf-hearts .avp:last-of-type{left:auto; right:-4cqmin; bottom:-5cqmin; --s:30cqmin; animation:avf-thump 1.3s ease-in-out infinite; text-shadow:0 0 2cqmin rgba(0,0,0,.6);}
@keyframes avf-heart{0%{transform:translate(0,0) scale(.4); opacity:0;} 18%{opacity:1;} 100%{transform:translate(-6cqmin,-80cqmin) scale(1.1); opacity:0;}}
@keyframes avf-heart-b{0%{transform:translate(0,0) scale(.4); opacity:0;} 18%{opacity:1;} 100%{transform:translate(6cqmin,-72cqmin) scale(.9); opacity:0;}}
@keyframes avf-thump{0%,40%,100%{transform:scale(1);} 12%,30%{transform:scale(1.15);}}

/* 24 Roses: roses in two corners and petals falling */
.avf-petals .avf-f{box-shadow:inset 0 0 0 max(1px,1.4cqmin) color-mix(in srgb,var(--fx) 70%,#000), inset 0 0 6cqmin color-mix(in srgb,var(--fx) 45%,transparent);}
.avf-petals .avp{top:-5cqmin; left:calc(var(--i) * 16% + 4%); width:5cqmin; height:6.4cqmin; border-radius:0 70% 0 70%;
  background:linear-gradient(135deg,color-mix(in srgb,var(--fx) 70%,#fff),var(--fx) 50%,color-mix(in srgb,var(--fx) 60%,#000));
  animation:avf-petal var(--d,5s) ease-in-out infinite; animation-delay:calc(var(--i) * -.9s);}
.avf-petals .avp:nth-of-type(even){--d:6.2s;}
.avf-petals .avp:nth-last-of-type(-n+2){animation:none; width:30cqmin; height:30cqmin; border-radius:0; background:none; top:auto;}
.avf-petals .avp:nth-last-of-type(-n+2)::before{inset:0; background:radial-gradient(circle at 40% 30%,color-mix(in srgb,var(--fx) 60%,#fff),var(--fx) 45%,color-mix(in srgb,var(--fx) 55%,#000));
  -webkit-mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2040%2040%22%3E%3Cpath%20d%3D%22M20%206%20C28%205%2033%2010%2032%2017%20C31%2024%2026%2027%2020%2027%20C13%2027%208%2023%208%2016%20C8%2010%2013%206%2020%206Z%22%2F%3E%3Cpath%20d%3D%22M11%2022%20C14%2028%2026%2028%2029%2022%20L27%2029%20C24%2032%2016%2032%2013%2029Z%22%2F%3E%3C%2Fsvg%3E") no-repeat center/contain; mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2040%2040%22%3E%3Cpath%20d%3D%22M20%206%20C28%205%2033%2010%2032%2017%20C31%2024%2026%2027%2020%2027%20C13%2027%208%2023%208%2016%20C8%2010%2013%206%2020%206Z%22%2F%3E%3Cpath%20d%3D%22M11%2022%20C14%2028%2026%2028%2029%2022%20L27%2029%20C24%2032%2016%2032%2013%2029Z%22%2F%3E%3C%2Fsvg%3E") no-repeat center/contain;}
.avf-petals .avp:nth-last-of-type(-n+2)::after{inset:0; background:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2040%2040%22%20fill%3D%22none%22%20stroke-linecap%3D%22round%22%3E%3Cpath%20d%3D%22M20%2030%20C19%2034%2018%2037%2016%2039%22%20stroke%3D%22%231f5a22%22%20stroke-width%3D%222%22%2F%3E%3Cpath%20d%3D%22M18%2034%20C12%2033%208%2036%206%2039%20C12%2039%2016%2038%2018%2034Z%22%20fill%3D%22%232f8a33%22%20stroke%3D%22%23123d14%22%20stroke-width%3D%22.8%22%2F%3E%3Cpath%20d%3D%22M19%2032%20C25%2030%2030%2032%2033%2035%20C27%2037%2022%2036%2019%2032Z%22%20fill%3D%22%232f8a33%22%20stroke%3D%22%23123d14%22%20stroke-width%3D%22.8%22%2F%3E%3Cpath%20d%3D%22M20%2012%20C24%2011%2026%2014%2024%2017%20C22%2020%2017%2019%2016%2016%20C15%2012%2019%209%2023%209%20C28%209%2030%2014%2028%2019%20C26%2023%2020%2024%2015%2022%22%20stroke%3D%22%23000%22%20stroke-opacity%3D%22.45%22%20stroke-width%3D%221.3%22%2F%3E%3Cpath%20d%3D%22M9%2018%20C11%2023%2016%2025%2021%2025%22%20stroke%3D%22%23000%22%20stroke-opacity%3D%22.3%22%20stroke-width%3D%221%22%2F%3E%3Cpath%20d%3D%22M14%209%20C17%208%2020%208%2022%209%22%20stroke%3D%22%23fff%22%20stroke-opacity%3D%22.35%22%20stroke-width%3D%221%22%2F%3E%3C%2Fsvg%3E") no-repeat center/contain;}
.avf-petals .avp:nth-last-of-type(2){left:-8cqmin; bottom:-6cqmin; transform:rotate(-18deg);}
.avf-petals .avp:last-of-type{left:auto; right:-7cqmin; top:-7cqmin; transform:rotate(160deg) scale(.8);}
@keyframes avf-petal{0%{transform:translate(0,0) rotate(0); opacity:0;} 10%{opacity:1;} 35%{transform:translate(6cqmin,32cqmin) rotate(110deg);} 65%{transform:translate(-4cqmin,68cqmin) rotate(220deg);} 90%{opacity:1;} 100%{transform:translate(3cqmin,104cqmin) rotate(330deg); opacity:0;}}

/* the admin gallery: each frame at three sizes */
/* Alpha Tester (gold), Beta Tester (dull silver), and the staff frames Admin (red), Moderator (light red) and Developer (white):
   a turning metal ring, two sparkles and a name plate */
.avf-alpha{--m1:#6e4a0c; --m2:#f7d774; --m3:#a8761c; --m4:#ffeaa6; --mt:#f7dc85; --mg:rgba(245,211,107,.7); --pl:"ALPHA TESTER";}
.avf-beta{--m1:#3a4046; --m2:#b4bcc3; --m3:#666f77; --m4:#cfd5da; --mt:#bfc7ce; --mg:rgba(180,190,200,.4); --pl:"BETA TESTER";}   /* a duller, pewter silver, so it reads apart from Developer */
.avf-admin{--m1:#4a0006; --m2:#ff3b3b; --m3:#9c0a12; --m4:#ffb0a8; --mt:#ff6a6a; --mg:rgba(255,50,50,.65); --pl:"ADMIN";}
.avf-moderator{--m1:#7a2a2a; --m2:#ff9a9a; --m3:#c95050; --m4:#ffd6d0; --mt:#ffa3a3; --mg:rgba(255,130,130,.6); --pl:"MODERATOR";}
.avf-developer{--m1:#8e99a3; --m2:#ffffff; --m3:#d9e2ea; --m4:#ffffff; --mt:#ffffff; --mg:rgba(255,255,255,.75); --pl:"DEVELOPER";}
.avf-alpha,.avf-beta,.avf-admin,.avf-moderator,.avf-developer{--rw:4.6cqmin;}
.avf-alpha .avf-f,.avf-beta .avf-f,.avf-admin .avf-f,.avf-moderator .avf-f,.avf-developer .avf-f{padding:var(--rw); overflow:hidden;
  -webkit-mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite:xor;
  mask:linear-gradient(#000 0 0) content-box exclude, linear-gradient(#000 0 0);}
.avf-alpha .avf-f::before,.avf-beta .avf-f::before,.avf-admin .avf-f::before,.avf-moderator .avf-f::before,.avf-developer .avf-f::before{inset:-60%; background:conic-gradient(var(--m1),var(--m2),var(--m3),var(--m4),var(--m3),var(--m2),var(--m1)); animation:avf-spin 7s linear infinite;}
.avf-alpha .avf-f::after,.avf-beta .avf-f::after,.avf-admin .avf-f::after,.avf-moderator .avf-f::after,.avf-developer .avf-f::after{inset:0; box-shadow:inset 0 0 0 max(1px,.7cqmin) #120d04;}
.avf-alpha .avf-o,.avf-beta .avf-o,.avf-admin .avf-o,.avf-moderator .avf-o,.avf-developer .avf-o{box-shadow:inset 0 0 7cqmin color-mix(in srgb,var(--m2) 30%,transparent);}
.avf-alpha .avp:nth-of-type(1),.avf-beta .avp:nth-of-type(1),.avf-admin .avp:nth-of-type(1),.avf-moderator .avp:nth-of-type(1),.avf-developer .avp:nth-of-type(1){left:50%; bottom:-4cqmin; transform:translateX(-50%); padding:1.5cqmin 3.2cqmin; white-space:nowrap; text-align:center;
  background:linear-gradient(#1c1a16,#060504); border:max(1px,.6cqmin) solid var(--m2); color:var(--mt); font:900 6.6cqmin/1 Georgia,'Times New Roman',serif; letter-spacing:.8cqmin;
  box-shadow:0 1cqmin 2.5cqmin rgba(0,0,0,.75); animation:avf-plate-glow 3s ease-in-out infinite;}
.avf-alpha .avp:nth-of-type(1)::before,.avf-beta .avp:nth-of-type(1)::before,.avf-admin .avp:nth-of-type(1)::before,.avf-moderator .avp:nth-of-type(1)::before,.avf-developer .avp:nth-of-type(1)::before{position:static; content:var(--pl); margin-right:-.8cqmin;}   /* cancels the letter-spacing after the last letter, so the text sits dead centre */
.avf-alpha .avp:nth-of-type(2),.avf-alpha .avp:nth-of-type(3),.avf-beta .avp:nth-of-type(2),.avf-beta .avp:nth-of-type(3),.avf-admin .avp:nth-of-type(2),.avf-moderator .avp:nth-of-type(2),.avf-developer .avp:nth-of-type(2),.avf-admin .avp:nth-of-type(3),.avf-moderator .avp:nth-of-type(3),.avf-developer .avp:nth-of-type(3){width:10cqmin; height:10cqmin; background:#fff;
  clip-path:polygon(50% 0,58% 42%,100% 50%,58% 58%,50% 100%,42% 58%,0 50%,42% 42%); filter:drop-shadow(0 0 1cqmin var(--m2)); animation:avf-twinkle 2.8s ease-in-out infinite;}
.avf-alpha .avp:nth-of-type(2),.avf-beta .avp:nth-of-type(2),.avf-admin .avp:nth-of-type(2),.avf-moderator .avp:nth-of-type(2),.avf-developer .avp:nth-of-type(2){left:-3cqmin; top:8%;}
.avf-alpha .avp:nth-of-type(3),.avf-beta .avp:nth-of-type(3),.avf-admin .avp:nth-of-type(3),.avf-moderator .avp:nth-of-type(3),.avf-developer .avp:nth-of-type(3){right:-3cqmin; top:30%; animation-delay:1.4s;}
@keyframes avf-plate-glow{50%{box-shadow:0 1cqmin 2.5cqmin rgba(0,0,0,.75), 0 0 4cqmin var(--mg);}}

/* ---- build 185: award, holiday and event frames, in the game's 1920s-40s mob style ---- */
/* shared: a ring painted on the ::before (and ::after where a second layer is needed), with the middle cut out */
.avf-founder .avf-f::before,.avf-kingmaker .avf-f::before,.avf-bigspender .avf-f::before,.avf-christmas .avf-f::before,.avf-halloween .avf-f::before,
.avf-july4 .avf-f::before,.avf-newyear .avf-f::before,.avf-stpatricks .avf-f::before,.avf-stpatricks .avf-f::after,.avf-easter .avf-f::after,
.avf-easter .avf-f::before,.avf-thanksgiving .avf-f::before,.avf-mardigras .avf-f::before,.avf-lastman .avf-f::before{
  inset:0; padding:var(--rw,5cqmin);
  -webkit-mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite:xor;
  mask:linear-gradient(#000 0 0) content-box exclude, linear-gradient(#000 0 0);}
/* shared: a plate hanging off the bottom edge */
.avf-founder .avp:nth-of-type(1),.avf-mostwanted .avp:nth-of-type(2),.avf-newyear .avp:nth-of-type(1),.avf-kingmaker .avp:nth-of-type(3){left:50%; bottom:-4.5cqmin; transform:translateX(-50%);
  padding:1.5cqmin 3cqmin; white-space:nowrap; text-align:center; box-shadow:0 1cqmin 2.5cqmin rgba(0,0,0,.75); font:900 5.6cqmin/1 Georgia,'Times New Roman',serif; letter-spacing:.6cqmin;}
.avf-founder .avp:nth-of-type(1)::before,.avf-founder .avp:nth-of-type(1)::after,.avf-mostwanted .avp:nth-of-type(2)::before,.avf-newyear .avp:nth-of-type(1)::before,.avf-kingmaker .avp:nth-of-type(3)::before{position:static; display:inline;}
/* shared: black lacquer with a double gold line (Big Spender, New Year) */
.avf-bigspender .avf-f::before,.avf-newyear .avf-f::before{background:linear-gradient(135deg,#1c1a16,#050505 45%,#24201a 70%,#070707);
  box-shadow:inset 0 0 0 max(1px,.6cqmin) #e2b53e, inset 0 0 0 max(2px,1.6cqmin) transparent, inset 0 0 0 max(3px,2.1cqmin) #b8892a;}
.avf-bigspender .avf-f,.avf-newyear .avf-f{box-shadow:inset 0 0 0 max(1px,calc(var(--rw) + .6cqmin)) #e2b53e, inset 0 0 5cqmin calc(var(--rw) + 1cqmin) rgba(0,0,0,.45);}

/* Founder: a mahogany frame with brass corners and an engraved brass plaque with the year they joined */
.avf-founder{--rw:6.4cqmin;}
.avf-founder .avf-f::before{background:repeating-linear-gradient(88deg,rgba(0,0,0,.18) 0 .4cqmin,transparent .4cqmin 1.3cqmin,rgba(255,200,150,.06) 1.3cqmin 1.7cqmin,transparent 1.7cqmin 2.6cqmin),
  linear-gradient(135deg,#2a0f05,#6e3218 25%,#3e1a0b 50%,#7a3a1c 72%,#2a0f05); box-shadow:inset 0 0 0 max(1px,.6cqmin) #1a0802;}
.avf-founder .avf-f{box-shadow:inset 0 0 0 max(1px,7.4cqmin) #d9a520, inset 0 0 0 max(2px,8cqmin) #3a2500, inset 0 0 5cqmin 8cqmin rgba(0,0,0,.4);}
.avf-founder .avp:nth-of-type(1){background:linear-gradient(#f0d48a,#c4953f 45%,#9a6f28 55%,#d9b25e); border:max(1px,.5cqmin) solid #4a2f0c; color:#3b2408;
  text-shadow:0 .3cqmin 0 rgba(255,240,200,.55); box-shadow:0 1cqmin 2.5cqmin rgba(0,0,0,.75), inset 0 0 0 max(1px,.6cqmin) rgba(255,240,200,.35);}
.avf-founder .avp:nth-of-type(1)::before{content:"FOUNDER";}
.avf-founder .avp:nth-of-type(1)::after{content:" \00B7  " attr(data-n); margin-right:-.6cqmin;}
.avf-founder .avp:nth-of-type(n+2){width:13cqmin; height:13cqmin; background:linear-gradient(135deg,#fff1c9,#c79a4b 35%,#7a5520 70%,#e5c27d);
  clip-path:polygon(0 0,100% 0,100% 34%,34% 34%,34% 100%,0 100%); filter:drop-shadow(0 0 .4cqmin #000);}
.avf-founder .avp:nth-of-type(n+2)::after{left:14%; top:14%; width:2.4cqmin; height:2.4cqmin; border-radius:50%; background:radial-gradient(circle at 35% 30%,#fff,#9a6f28 70%); box-shadow:0 0 0 max(1px,.3cqmin) #3b2408;}
.avf-founder .avp:nth-of-type(2){left:0; top:0;} .avf-founder .avp:nth-of-type(3){right:0; top:0; transform:scaleX(-1);}
.avf-founder .avp:nth-of-type(4){left:0; bottom:0; transform:scaleY(-1);} .avf-founder .avp:nth-of-type(5){right:0; bottom:0; transform:scale(-1);}

/* Bug Hunter: a surveillance camera view (corner brackets, REC, camera number) and the bug they found, circled */
.avf-bughunter .avf-f{background:repeating-linear-gradient(0deg,rgba(0,0,0,.2) 0 1px,transparent 1px 3px); box-shadow:inset 0 0 10cqmin rgba(0,0,0,.6), inset 0 0 0 max(1px,1cqmin) #111;}
.avf-bughunter .avf-f::after{inset:6cqmin; opacity:.9; filter:drop-shadow(0 0 .4cqmin #000);
  background:linear-gradient(#fff,#fff) 0 0/13cqmin max(1px,1cqmin) no-repeat, linear-gradient(#fff,#fff) 0 0/max(1px,1cqmin) 13cqmin no-repeat,
    linear-gradient(#fff,#fff) 100% 0/13cqmin max(1px,1cqmin) no-repeat, linear-gradient(#fff,#fff) 100% 0/max(1px,1cqmin) 13cqmin no-repeat,
    linear-gradient(#fff,#fff) 0 100%/13cqmin max(1px,1cqmin) no-repeat, linear-gradient(#fff,#fff) 0 100%/max(1px,1cqmin) 13cqmin no-repeat,
    linear-gradient(#fff,#fff) 100% 100%/13cqmin max(1px,1cqmin) no-repeat, linear-gradient(#fff,#fff) 100% 100%/max(1px,1cqmin) 13cqmin no-repeat;}
.avf-bughunter .avp:nth-of-type(1){left:10cqmin; top:10cqmin; font:bold 6cqmin/1 'Courier New',monospace; color:#fff; text-shadow:0 0 .6cqmin #000;}
.avf-bughunter .avp:nth-of-type(1)::before{position:static; display:inline-block; content:""; width:4.4cqmin; height:4.4cqmin; margin-right:1.4cqmin; border-radius:50%; background:#ff2020; box-shadow:0 0 2cqmin #ff2020; animation:avf-rec 1.4s steps(1) infinite;}
.avf-bughunter .avp:nth-of-type(1)::after{position:static; content:"REC";}
.avf-bughunter .avp:nth-of-type(2){right:10cqmin; top:10cqmin; font:bold 5cqmin/1 'Courier New',monospace; color:#fff; text-shadow:0 0 .6cqmin #000; opacity:.85;}
.avf-bughunter .avp:nth-of-type(2)::before{position:static; content:"CAM 04";}
.avf-bughunter .avp:nth-of-type(3){left:0; bottom:1cqmin; width:30cqmin; height:22cqmin; background:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2040%2030%22%20stroke-linecap%3D%22round%22%3E%3Cdefs%3E%3ClinearGradient%20id%3D%22b%22%20x1%3D%220%22%20y1%3D%220%22%20x2%3D%220%22%20y2%3D%221%22%3E%3Cstop%20offset%3D%220%22%20stop-color%3D%22%234a4f55%22%2F%3E%3Cstop%20offset%3D%22.5%22%20stop-color%3D%22%2326292d%22%2F%3E%3Cstop%20offset%3D%221%22%20stop-color%3D%22%23131517%22%2F%3E%3C%2FlinearGradient%3E%3C%2Fdefs%3E%3Cpath%20d%3D%22M6%2017C2%2017%203%2022%200%2023%22%20stroke%3D%22%23b86a2a%22%20stroke-width%3D%221.2%22%20fill%3D%22none%22%2F%3E%3Cpath%20d%3D%22M30%2018c4%200%205%204%209%203%22%20stroke%3D%22%23b86a2a%22%20stroke-width%3D%221.2%22%20fill%3D%22none%22%2F%3E%3Crect%20x%3D%226%22%20y%3D%229%22%20width%3D%2224%22%20height%3D%2215%22%20rx%3D%222.5%22%20fill%3D%22url%28%23b%29%22%2F%3E%3Crect%20x%3D%229%22%20y%3D%2212%22%20width%3D%2210%22%20height%3D%229%22%20rx%3D%221%22%20fill%3D%22%230c0d0e%22%2F%3E%3Cpath%20d%3D%22M10%2014h8M10%2016.5h8M10%2019h8%22%20stroke%3D%22%233a3d40%22%20stroke-width%3D%22.8%22%2F%3E%3Cpath%20d%3D%22M7%2010h22%22%20stroke%3D%22%23fff%22%20stroke-opacity%3D%22.18%22%20stroke-width%3D%22.8%22%2F%3E%3Ccircle%20cx%3D%2225%22%20cy%3D%2219.5%22%20r%3D%221.2%22%20fill%3D%22%236a6e72%22%2F%3E%3Cpath%20d%3D%22M28%209V3%22%20stroke%3D%22%239aa0a6%22%20stroke-width%3D%221%22%2F%3E%3Ccircle%20cx%3D%2228%22%20cy%3D%222.6%22%20r%3D%221.1%22%20fill%3D%22%239aa0a6%22%2F%3E%3C%2Fsvg%3E") no-repeat center/contain; filter:drop-shadow(0 .8cqmin .8cqmin rgba(0,0,0,.7));}
.avf-bughunter .avp:nth-of-type(3)::before{inset:-2cqmin 2cqmin -1cqmin 4cqmin; opacity:.85; animation:avf-found 2.4s ease-in-out infinite;
  background:linear-gradient(#ff3030,#ff3030) 0 0/4cqmin max(1px,.5cqmin) no-repeat, linear-gradient(#ff3030,#ff3030) 0 0/max(1px,.5cqmin) 4cqmin no-repeat,
    linear-gradient(#ff3030,#ff3030) 100% 0/4cqmin max(1px,.5cqmin) no-repeat, linear-gradient(#ff3030,#ff3030) 100% 0/max(1px,.5cqmin) 4cqmin no-repeat,
    linear-gradient(#ff3030,#ff3030) 0 100%/4cqmin max(1px,.5cqmin) no-repeat, linear-gradient(#ff3030,#ff3030) 0 100%/max(1px,.5cqmin) 4cqmin no-repeat,
    linear-gradient(#ff3030,#ff3030) 100% 100%/4cqmin max(1px,.5cqmin) no-repeat, linear-gradient(#ff3030,#ff3030) 100% 100%/max(1px,.5cqmin) 4cqmin no-repeat;}
.avf-bughunter .avp:nth-of-type(3)::after{left:59%; top:58%; width:1.6cqmin; height:1.6cqmin; border-radius:50%; background:#3dff5a; box-shadow:0 0 1.2cqmin #3dff5a; animation:avf-rec .9s steps(1) infinite;}
@keyframes avf-rec{50%{opacity:.15;}}
@keyframes avf-found{50%{transform:scale(1.06); opacity:.45;}}

/* Most Wanted: a police light bar on top, the picture washed red and blue, and a case-file stamp */
.avf-mostwanted .avf-f{box-shadow:inset 0 0 0 max(1px,1.2cqmin) #16181a, inset 0 0 10cqmin rgba(0,0,0,.5);}
.avf-mostwanted .avf-f::before{inset:0; background:linear-gradient(90deg,rgba(255,30,30,.45),transparent 50%); animation:avf-siren-a 1s steps(1) infinite;}
.avf-mostwanted .avf-f::after{inset:0; background:linear-gradient(270deg,rgba(30,110,255,.5),transparent 50%); animation:avf-siren-b 1s steps(1) infinite;}
.avf-mostwanted .avp:nth-of-type(1){left:16%; right:16%; top:-5cqmin; height:8cqmin; border-radius:2.4cqmin 2.4cqmin 1cqmin 1cqmin;
  background:linear-gradient(90deg,#7a0000,#ff2a2a 20%,#7a0000 46%,#222 46% 54%,#001a66 54%,#2f6bff 80%,#001a66);
  border:max(1px,.7cqmin) solid #c9ced3; box-shadow:0 1cqmin 1.5cqmin rgba(0,0,0,.7), inset 0 1.5cqmin 1cqmin rgba(255,255,255,.35);}
.avf-mostwanted .avp:nth-of-type(1)::before,.avf-mostwanted .avp:nth-of-type(1)::after{top:0; bottom:0; width:46%; border-radius:inherit;}
.avf-mostwanted .avp:nth-of-type(1)::before{left:0; box-shadow:0 0 5cqmin 2cqmin #ff2020; background:rgba(255,160,160,.55); animation:avf-siren-a .5s steps(1) infinite;}
.avf-mostwanted .avp:nth-of-type(1)::after{right:0; box-shadow:0 0 5cqmin 2cqmin #2a6bff; background:rgba(160,190,255,.55); animation:avf-siren-b .5s steps(1) infinite;}
.avf-mostwanted .avp:nth-of-type(2){bottom:-4cqmin; background:#e9dcb8; color:#a3121c; border:max(1px,.7cqmin) double #a3121c; outline:max(1px,.5cqmin) solid #e9dcb8;
  font-family:'Courier New',monospace; font-size:6cqmin; letter-spacing:.4cqmin; transform:translateX(-50%) rotate(-4deg);}
.avf-mostwanted .avp:nth-of-type(2)::before{content:"MOST WANTED"; margin-right:-.4cqmin;}
@keyframes avf-siren-a{0%{opacity:1;} 50%{opacity:0;}}
@keyframes avf-siren-b{0%{opacity:0;} 50%{opacity:1;}}

/* Kingmaker: an antique gold laurel wreath and a ribbon in the gang's color */
.avf-kingmaker{--rw:2cqmin;}
.avf-kingmaker .avf-f::before{background:linear-gradient(135deg,#6e4a0c,#f7d774 25%,#a8761c 50%,#ffeaa6 70%,#7a5210);}
.avf-kingmaker .avf-f{box-shadow:inset 0 0 8cqmin rgba(0,0,0,.4);}
.avf-kingmaker .avp:nth-of-type(-n+2){bottom:-2cqmin; width:25cqmin; height:84cqmin; background:linear-gradient(170deg,#fff1b8,#e0b441 30%,#a8761c 60%,#5e3d08);
  -webkit-mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2030%20100%22%3E%3Cpath%20d%3D%22M24%2098%20C6%2078%202%2040%2016%204%22%20stroke%3D%22%23000%22%20stroke-width%3D%222%22%20fill%3D%22none%22%2F%3E%3Cellipse%20cx%3D%2216.2%22%20cy%3D%2292.9%22%20rx%3D%222.3%22%20ry%3D%225.9%22%20transform%3D%22rotate%28-74%2016.2%2092.9%29%22%2F%3E%3Cellipse%20cx%3D%2221.1%22%20cy%3D%2289.3%22%20rx%3D%222.3%22%20ry%3D%225.9%22%20transform%3D%22rotate%282%2021.1%2089.3%29%22%2F%3E%3Cellipse%20cx%3D%2212.7%22%20cy%3D%2286.4%22%20rx%3D%222.3%22%20ry%3D%225.7%22%20transform%3D%22rotate%28-67%2012.7%2086.4%29%22%2F%3E%3Cellipse%20cx%3D%2217.8%22%20cy%3D%2283.5%22%20rx%3D%222.3%22%20ry%3D%225.7%22%20transform%3D%22rotate%289%2017.8%2083.5%29%22%2F%3E%3Cellipse%20cx%3D%229.9%22%20cy%3D%2279.3%22%20rx%3D%222.2%22%20ry%3D%225.5%22%20transform%3D%22rotate%28-60%209.9%2079.3%29%22%2F%3E%3Cellipse%20cx%3D%2215.1%22%20cy%3D%2277.2%22%20rx%3D%222.2%22%20ry%3D%225.5%22%20transform%3D%22rotate%2816%2015.1%2077.2%29%22%2F%3E%3Cellipse%20cx%3D%227.7%22%20cy%3D%2271.8%22%20rx%3D%222.1%22%20ry%3D%225.3%22%20transform%3D%22rotate%28-54%207.7%2071.8%29%22%2F%3E%3Cellipse%20cx%3D%2212.9%22%20cy%3D%2270.2%22%20rx%3D%222.1%22%20ry%3D%225.3%22%20transform%3D%22rotate%2822%2012.9%2070.2%29%22%2F%3E%3Cellipse%20cx%3D%226.1%22%20cy%3D%2263.8%22%20rx%3D%222.1%22%20ry%3D%225.2%22%20transform%3D%22rotate%28-49%206.1%2063.8%29%22%2F%3E%3Cellipse%20cx%3D%2211.3%22%20cy%3D%2262.8%22%20rx%3D%222.1%22%20ry%3D%225.2%22%20transform%3D%22rotate%2827%2011.3%2062.8%29%22%2F%3E%3Cellipse%20cx%3D%225.3%22%20cy%3D%2255.5%22%20rx%3D%222.0%22%20ry%3D%225.0%22%20transform%3D%22rotate%28-44%205.3%2055.5%29%22%2F%3E%3Cellipse%20cx%3D%2210.4%22%20cy%3D%2255.0%22%20rx%3D%222.0%22%20ry%3D%225.0%22%20transform%3D%22rotate%2832%2010.4%2055.0%29%22%2F%3E%3Cellipse%20cx%3D%225.1%22%20cy%3D%2246.8%22%20rx%3D%221.9%22%20ry%3D%224.8%22%20transform%3D%22rotate%28-39%205.1%2046.8%29%22%2F%3E%3Cellipse%20cx%3D%2210.0%22%20cy%3D%2246.8%22%20rx%3D%221.9%22%20ry%3D%224.8%22%20transform%3D%22rotate%2837%2010.0%2046.8%29%22%2F%3E%3Cellipse%20cx%3D%225.6%22%20cy%3D%2238.0%22%20rx%3D%221.8%22%20ry%3D%224.6%22%20transform%3D%22rotate%28-34%205.6%2038.0%29%22%2F%3E%3Cellipse%20cx%3D%2210.3%22%20cy%3D%2238.3%22%20rx%3D%221.8%22%20ry%3D%224.6%22%20transform%3D%22rotate%2842%2010.3%2038.3%29%22%2F%3E%3Cellipse%20cx%3D%226.8%22%20cy%3D%2228.9%22%20rx%3D%221.8%22%20ry%3D%224.4%22%20transform%3D%22rotate%28-30%206.8%2028.9%29%22%2F%3E%3Cellipse%20cx%3D%2211.3%22%20cy%3D%2229.6%22%20rx%3D%221.8%22%20ry%3D%224.4%22%20transform%3D%22rotate%2846%2011.3%2029.6%29%22%2F%3E%3Cellipse%20cx%3D%228.8%22%20cy%3D%2219.8%22%20rx%3D%221.7%22%20ry%3D%224.3%22%20transform%3D%22rotate%28-26%208.8%2019.8%29%22%2F%3E%3Cellipse%20cx%3D%2213.0%22%20cy%3D%2220.7%22%20rx%3D%221.7%22%20ry%3D%224.3%22%20transform%3D%22rotate%2850%2013.0%2020.7%29%22%2F%3E%3Cellipse%20cx%3D%2211.4%22%20cy%3D%2210.6%22%20rx%3D%221.6%22%20ry%3D%224.1%22%20transform%3D%22rotate%28-21%2011.4%2010.6%29%22%2F%3E%3Cellipse%20cx%3D%2215.4%22%20cy%3D%2211.8%22%20rx%3D%221.6%22%20ry%3D%224.1%22%20transform%3D%22rotate%2855%2015.4%2011.8%29%22%2F%3E%3Cellipse%20cx%3D%2216.0%22%20cy%3D%221.0%22%20rx%3D%222%22%20ry%3D%225%22%2F%3E%3C%2Fsvg%3E") no-repeat center/contain; mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2030%20100%22%3E%3Cpath%20d%3D%22M24%2098%20C6%2078%202%2040%2016%204%22%20stroke%3D%22%23000%22%20stroke-width%3D%222%22%20fill%3D%22none%22%2F%3E%3Cellipse%20cx%3D%2216.2%22%20cy%3D%2292.9%22%20rx%3D%222.3%22%20ry%3D%225.9%22%20transform%3D%22rotate%28-74%2016.2%2092.9%29%22%2F%3E%3Cellipse%20cx%3D%2221.1%22%20cy%3D%2289.3%22%20rx%3D%222.3%22%20ry%3D%225.9%22%20transform%3D%22rotate%282%2021.1%2089.3%29%22%2F%3E%3Cellipse%20cx%3D%2212.7%22%20cy%3D%2286.4%22%20rx%3D%222.3%22%20ry%3D%225.7%22%20transform%3D%22rotate%28-67%2012.7%2086.4%29%22%2F%3E%3Cellipse%20cx%3D%2217.8%22%20cy%3D%2283.5%22%20rx%3D%222.3%22%20ry%3D%225.7%22%20transform%3D%22rotate%289%2017.8%2083.5%29%22%2F%3E%3Cellipse%20cx%3D%229.9%22%20cy%3D%2279.3%22%20rx%3D%222.2%22%20ry%3D%225.5%22%20transform%3D%22rotate%28-60%209.9%2079.3%29%22%2F%3E%3Cellipse%20cx%3D%2215.1%22%20cy%3D%2277.2%22%20rx%3D%222.2%22%20ry%3D%225.5%22%20transform%3D%22rotate%2816%2015.1%2077.2%29%22%2F%3E%3Cellipse%20cx%3D%227.7%22%20cy%3D%2271.8%22%20rx%3D%222.1%22%20ry%3D%225.3%22%20transform%3D%22rotate%28-54%207.7%2071.8%29%22%2F%3E%3Cellipse%20cx%3D%2212.9%22%20cy%3D%2270.2%22%20rx%3D%222.1%22%20ry%3D%225.3%22%20transform%3D%22rotate%2822%2012.9%2070.2%29%22%2F%3E%3Cellipse%20cx%3D%226.1%22%20cy%3D%2263.8%22%20rx%3D%222.1%22%20ry%3D%225.2%22%20transform%3D%22rotate%28-49%206.1%2063.8%29%22%2F%3E%3Cellipse%20cx%3D%2211.3%22%20cy%3D%2262.8%22%20rx%3D%222.1%22%20ry%3D%225.2%22%20transform%3D%22rotate%2827%2011.3%2062.8%29%22%2F%3E%3Cellipse%20cx%3D%225.3%22%20cy%3D%2255.5%22%20rx%3D%222.0%22%20ry%3D%225.0%22%20transform%3D%22rotate%28-44%205.3%2055.5%29%22%2F%3E%3Cellipse%20cx%3D%2210.4%22%20cy%3D%2255.0%22%20rx%3D%222.0%22%20ry%3D%225.0%22%20transform%3D%22rotate%2832%2010.4%2055.0%29%22%2F%3E%3Cellipse%20cx%3D%225.1%22%20cy%3D%2246.8%22%20rx%3D%221.9%22%20ry%3D%224.8%22%20transform%3D%22rotate%28-39%205.1%2046.8%29%22%2F%3E%3Cellipse%20cx%3D%2210.0%22%20cy%3D%2246.8%22%20rx%3D%221.9%22%20ry%3D%224.8%22%20transform%3D%22rotate%2837%2010.0%2046.8%29%22%2F%3E%3Cellipse%20cx%3D%225.6%22%20cy%3D%2238.0%22%20rx%3D%221.8%22%20ry%3D%224.6%22%20transform%3D%22rotate%28-34%205.6%2038.0%29%22%2F%3E%3Cellipse%20cx%3D%2210.3%22%20cy%3D%2238.3%22%20rx%3D%221.8%22%20ry%3D%224.6%22%20transform%3D%22rotate%2842%2010.3%2038.3%29%22%2F%3E%3Cellipse%20cx%3D%226.8%22%20cy%3D%2228.9%22%20rx%3D%221.8%22%20ry%3D%224.4%22%20transform%3D%22rotate%28-30%206.8%2028.9%29%22%2F%3E%3Cellipse%20cx%3D%2211.3%22%20cy%3D%2229.6%22%20rx%3D%221.8%22%20ry%3D%224.4%22%20transform%3D%22rotate%2846%2011.3%2029.6%29%22%2F%3E%3Cellipse%20cx%3D%228.8%22%20cy%3D%2219.8%22%20rx%3D%221.7%22%20ry%3D%224.3%22%20transform%3D%22rotate%28-26%208.8%2019.8%29%22%2F%3E%3Cellipse%20cx%3D%2213.0%22%20cy%3D%2220.7%22%20rx%3D%221.7%22%20ry%3D%224.3%22%20transform%3D%22rotate%2850%2013.0%2020.7%29%22%2F%3E%3Cellipse%20cx%3D%2211.4%22%20cy%3D%2210.6%22%20rx%3D%221.6%22%20ry%3D%224.1%22%20transform%3D%22rotate%28-21%2011.4%2010.6%29%22%2F%3E%3Cellipse%20cx%3D%2215.4%22%20cy%3D%2211.8%22%20rx%3D%221.6%22%20ry%3D%224.1%22%20transform%3D%22rotate%2855%2015.4%2011.8%29%22%2F%3E%3Cellipse%20cx%3D%2216.0%22%20cy%3D%221.0%22%20rx%3D%222%22%20ry%3D%225%22%2F%3E%3C%2Fsvg%3E") no-repeat center/contain; filter:drop-shadow(0 .6cqmin .6cqmin rgba(0,0,0,.75));}
.avf-kingmaker .avp:nth-of-type(1){left:-10cqmin;}
.avf-kingmaker .avp:nth-of-type(2){right:-10cqmin; transform:scaleX(-1);}
.avf-kingmaker .avp:nth-of-type(3){bottom:-3.5cqmin; padding:1.7cqmin 7cqmin; color:#fff; text-shadow:0 .4cqmin .6cqmin rgba(0,0,0,.8); font-size:5.4cqmin;
  background:linear-gradient(color-mix(in srgb,var(--fx) 70%,#fff),var(--fx) 45%,color-mix(in srgb,var(--fx) 55%,#000));
  clip-path:polygon(0 0,100% 0,94% 50%,100% 100%,0 100%,6% 50%); box-shadow:none; filter:drop-shadow(0 .8cqmin 1cqmin rgba(0,0,0,.8));}
.avf-kingmaker .avp:nth-of-type(3)::before{content:"KINGMAKER"; margin-right:-.6cqmin;}

/* Last Man Standing: boxing-ring ropes, corner posts, a spotlight from above and a gold title belt */
.avf-lastman{--rw:3.2cqmin;}
.avf-lastman .avf-f::before{background:repeating-linear-gradient(45deg,#a8161f 0 1.1cqmin,#5e070d 1.1cqmin 2.2cqmin),#8a0a12; box-shadow:inset 0 0 0 max(1px,.5cqmin) #3a0005;}
.avf-lastman .avf-f{box-shadow:inset 0 0 0 max(1px,3.7cqmin) #d8d2c0, inset 0 0 0 max(2px,4.3cqmin) #111, inset 0 0 12cqmin rgba(0,0,0,.6);}
.avf-lastman .avp:nth-of-type(1){left:50%; top:-6cqmin; width:70cqmin; height:95cqmin; margin-left:-35cqmin; mix-blend-mode:screen; opacity:.55;
  background:linear-gradient(180deg,rgba(255,248,215,.7),rgba(255,248,215,.05) 70%,transparent); clip-path:polygon(42% 0,58% 0,100% 100%,0 100%); animation:avf-spot 4s ease-in-out infinite alternate;}
.avf-lastman .avp:nth-of-type(2){left:-2cqmin; right:-2cqmin; bottom:3cqmin; height:13cqmin; display:grid; place-items:center;
  background:repeating-linear-gradient(90deg,transparent 0 5cqmin,rgba(255,215,90,.9) 5cqmin 6cqmin,transparent 6cqmin 7cqmin),linear-gradient(#2a1a10,#0c0704);
  border-block:max(1px,.7cqmin) solid #d9a520; box-shadow:0 1cqmin 2cqmin rgba(0,0,0,.6);}
.avf-lastman .avp:nth-of-type(2)::before{position:static; width:32cqmin; height:22cqmin; border-radius:50%; background:radial-gradient(circle at 40% 35%,#fff6c8,#f2c230 35%,#a36f0a 75%,#5e3d08);
  border:max(1px,.8cqmin) solid #4a2f00; box-shadow:inset 0 0 0 1.4cqmin rgba(255,240,180,.35), inset 0 0 0 2.2cqmin #8a5a00;}
.avf-lastman .avp:nth-of-type(2)::after{left:50%; top:50%; width:32cqmin; height:22cqmin; margin:-11cqmin 0 0 -16cqmin; border-radius:50%;
  background:radial-gradient(ellipse 30% 30% at 50% 50%,#fff3c4 0 30%,#d9a520 55%,#8a5a00 75%,transparent 78%),linear-gradient(115deg,transparent 40%,rgba(255,255,235,.75) 50%,transparent 60%) 0 0/300% 300%;
  animation:avf-shine 4.5s ease-in-out infinite;}
.avf-lastman .avp:nth-of-type(n+3){width:6cqmin; height:6cqmin; border-radius:1.2cqmin; background:linear-gradient(135deg,#c9ced3,#6a7278 60%,#2e3236); box-shadow:0 .6cqmin 1cqmin rgba(0,0,0,.7), inset 0 0 0 max(1px,.4cqmin) rgba(0,0,0,.35);}
.avf-lastman .avp:nth-of-type(3){left:-1.4cqmin; top:-1.4cqmin;} .avf-lastman .avp:nth-of-type(4){right:-1.4cqmin; top:-1.4cqmin;}
.avf-lastman .avp:nth-of-type(5){left:-1.4cqmin; bottom:-1.4cqmin; background:linear-gradient(135deg,#b04a4a,#6e1414 60%,#2e0606);} .avf-lastman .avp:nth-of-type(6){right:-1.4cqmin; bottom:-1.4cqmin; background:linear-gradient(135deg,#4a6ab0,#14306e 60%,#06122e);}
@keyframes avf-spot{0%{transform:rotate(-6deg);} 100%{transform:rotate(6deg);}}

/* Big Spender: an art deco frame in black and gold, and piles and stacks of gold coins along the bottom that shine and sparkle */
.avf-bigspender{--rw:5.4cqmin;}
.avf-bigspender .avf-o{box-shadow:inset 0 -16cqmin 14cqmin -10cqmin rgba(0,0,0,.65), inset 0 -10cqmin 16cqmin -8cqmin rgba(255,196,60,.28);}
.avf-bigspender .avp:nth-of-type(-n+4){width:15cqmin; height:15cqmin; background:linear-gradient(135deg,#fff1b8,#e0b441 35%,#8a6112 70%,#f7d774);
  clip-path:polygon(0 0,100% 0,100% 18%,36% 18%,36% 36%,18% 36%,18% 100%,0 100%); filter:drop-shadow(0 0 .4cqmin #000);}
.avf-bigspender .avp:nth-of-type(1){left:-1cqmin; top:-1cqmin;} .avf-bigspender .avp:nth-of-type(2){right:-1cqmin; top:-1cqmin; transform:scaleX(-1);}
.avf-bigspender .avp:nth-of-type(3){left:-1cqmin; bottom:-1cqmin; transform:scaleY(-1);} .avf-bigspender .avp:nth-of-type(4){right:-1cqmin; bottom:-1cqmin; transform:scale(-1);}
/* stacks: coin edges, a rounded shadow and a coin face on top */
.avf-bigspender .avp:nth-of-type(6),.avf-bigspender .avp:nth-of-type(8),.avf-bigspender .avp:nth-of-type(10){bottom:3.5cqmin; width:11cqmin; height:var(--h,16cqmin); border-radius:0 0 50% 50% / 0 0 1.6cqmin 1.6cqmin;
  background:linear-gradient(90deg,rgba(50,28,0,.6),rgba(255,245,200,.35) 28%,rgba(255,255,255,.05) 45%,rgba(50,28,0,.55)),
    repeating-linear-gradient(0deg,#6b4400 0 .35cqmin,#c9951c .35cqmin 1.1cqmin,#f5d57a 1.1cqmin 1.45cqmin,#a8761c 1.45cqmin 1.9cqmin);
  filter:drop-shadow(0 .8cqmin 1cqmin rgba(0,0,0,.7));}
.avf-bigspender .avp:nth-of-type(6)::before,.avf-bigspender .avp:nth-of-type(8)::before,.avf-bigspender .avp:nth-of-type(10)::before{left:0; right:0; top:-2cqmin; height:4cqmin; border-radius:50%;
  background:radial-gradient(ellipse at 42% 38%,#fff8d8 0 10%,#f5d060 35%,#c9951c 70%,#7a5200 100%); box-shadow:inset 0 0 0 max(1px,.45cqmin) rgba(110,70,0,.7), inset 0 0 0 max(2px,1cqmin) rgba(255,230,150,.35);}
.avf-bigspender .avp:nth-of-type(6)::after,.avf-bigspender .avp:nth-of-type(8)::after,.avf-bigspender .avp:nth-of-type(10)::after{inset:-2cqmin 0 0; border-radius:inherit;
  background:linear-gradient(115deg,transparent 40%,rgba(255,252,225,.8) 50%,transparent 60%) 0 0/300% 300%; animation:avf-shine 4.2s ease-in-out infinite; animation-delay:calc(var(--i) * .5s); mix-blend-mode:screen;}
.avf-bigspender .avp:nth-of-type(6){left:22%; --h:17cqmin;} .avf-bigspender .avp:nth-of-type(8){left:56%; --h:22cqmin;} .avf-bigspender .avp:nth-of-type(10){left:80%; --h:12cqmin;}
/* loose piles: overlapping coin faces heaped up */
.avf-bigspender .avp:nth-of-type(5),.avf-bigspender .avp:nth-of-type(7),.avf-bigspender .avp:nth-of-type(9){bottom:1cqmin; width:34cqmin; height:16cqmin; background:radial-gradient(4cqmin 1.7cqmin at 49.7% 32.8%,#fff6cc 0 8%,#f5cf5a 30%,#c9951c 62%,#7a5200 86%,#4a3000 92%,transparent 96%),radial-gradient(4cqmin 1.7cqmin at 35.4% 44.2%,#fff6cc 0 8%,#f5cf5a 30%,#c9951c 62%,#7a5200 86%,#4a3000 92%,transparent 96%),radial-gradient(4cqmin 1.7cqmin at 51.1% 45.6%,#fff6cc 0 8%,#f5cf5a 30%,#c9951c 62%,#7a5200 86%,#4a3000 92%,transparent 96%),radial-gradient(4cqmin 1.7cqmin at 60.9% 46.5%,#fff6cc 0 8%,#f5cf5a 30%,#c9951c 62%,#7a5200 86%,#4a3000 92%,transparent 96%),radial-gradient(4cqmin 1.7cqmin at 71.3% 57.4%,#fff6cc 0 8%,#f5cf5a 30%,#c9951c 62%,#7a5200 86%,#4a3000 92%,transparent 96%),radial-gradient(4cqmin 1.7cqmin at 57.8% 59.2%,#fff6cc 0 8%,#f5cf5a 30%,#c9951c 62%,#7a5200 86%,#4a3000 92%,transparent 96%),radial-gradient(4cqmin 1.7cqmin at 41.1% 60.5%,#fff6cc 0 8%,#f5cf5a 30%,#c9951c 62%,#7a5200 86%,#4a3000 92%,transparent 96%),radial-gradient(4cqmin 1.7cqmin at 27.9% 61.9%,#fff6cc 0 8%,#f5cf5a 30%,#c9951c 62%,#7a5200 86%,#4a3000 92%,transparent 96%),radial-gradient(4cqmin 1.7cqmin at 59.2% 71.3%,#fff6cc 0 8%,#f5cf5a 30%,#c9951c 62%,#7a5200 86%,#4a3000 92%,transparent 96%),radial-gradient(4cqmin 1.7cqmin at 79.5% 71.7%,#fff6cc 0 8%,#f5cf5a 30%,#c9951c 62%,#7a5200 86%,#4a3000 92%,transparent 96%),radial-gradient(4cqmin 1.7cqmin at 16.1% 72.3%,#fff6cc 0 8%,#f5cf5a 30%,#c9951c 62%,#7a5200 86%,#4a3000 92%,transparent 96%),radial-gradient(4cqmin 1.7cqmin at 71.2% 72.7%,#fff6cc 0 8%,#f5cf5a 30%,#c9951c 62%,#7a5200 86%,#4a3000 92%,transparent 96%),radial-gradient(4cqmin 1.7cqmin at 44.1% 73.4%,#fff6cc 0 8%,#f5cf5a 30%,#c9951c 62%,#7a5200 86%,#4a3000 92%,transparent 96%),radial-gradient(4cqmin 1.7cqmin at 31.8% 76.7%,#fff6cc 0 8%,#f5cf5a 30%,#c9951c 62%,#7a5200 86%,#4a3000 92%,transparent 96%),radial-gradient(4cqmin 1.7cqmin at 24.6% 85.4%,#fff6cc 0 8%,#f5cf5a 30%,#c9951c 62%,#7a5200 86%,#4a3000 92%,transparent 96%),radial-gradient(4cqmin 1.7cqmin at 73.7% 85.5%,#fff6cc 0 8%,#f5cf5a 30%,#c9951c 62%,#7a5200 86%,#4a3000 92%,transparent 96%),radial-gradient(4cqmin 1.7cqmin at 9.5% 85.9%,#fff6cc 0 8%,#f5cf5a 30%,#c9951c 62%,#7a5200 86%,#4a3000 92%,transparent 96%),radial-gradient(4cqmin 1.7cqmin at 37.1% 87.2%,#fff6cc 0 8%,#f5cf5a 30%,#c9951c 62%,#7a5200 86%,#4a3000 92%,transparent 96%),radial-gradient(4cqmin 1.7cqmin at 60.4% 87.6%,#fff6cc 0 8%,#f5cf5a 30%,#c9951c 62%,#7a5200 86%,#4a3000 92%,transparent 96%),radial-gradient(4cqmin 1.7cqmin at 47.3% 88.0%,#fff6cc 0 8%,#f5cf5a 30%,#c9951c 62%,#7a5200 86%,#4a3000 92%,transparent 96%),radial-gradient(4cqmin 1.7cqmin at 89.0% 90.0%,#fff6cc 0 8%,#f5cf5a 30%,#c9951c 62%,#7a5200 86%,#4a3000 92%,transparent 96%); filter:drop-shadow(0 .8cqmin 1cqmin rgba(0,0,0,.7));}
.avf-bigspender .avp:nth-of-type(5){left:-3cqmin;} .avf-bigspender .avp:nth-of-type(7){left:30%;} .avf-bigspender .avp:nth-of-type(9){right:-2cqmin; transform:scaleX(-1);}
/* glints on the gold */
.avf-bigspender .avp:nth-of-type(n+11){width:8cqmin; height:8cqmin; background:#fff; clip-path:polygon(50% 0,56% 44%,100% 50%,56% 56%,50% 100%,44% 56%,0 50%,44% 44%);
  filter:drop-shadow(0 0 1.2cqmin #ffe38a); animation:avf-twinkle 2.6s ease-in-out infinite; animation-delay:calc(var(--i) * -.65s);}
.avf-bigspender .avp:nth-of-type(11){left:8%; bottom:10cqmin;} .avf-bigspender .avp:nth-of-type(12){left:58%; bottom:26cqmin;} .avf-bigspender .avp:nth-of-type(13){left:40%; bottom:9cqmin;} .avf-bigspender .avp:nth-of-type(14){right:10%; bottom:15cqmin;}

/* shared: fireworks - a rocket trail climbs, then a ring of sparks bursts, drifts down and fades */
.avf-newyear .avp:nth-of-type(n+2):nth-of-type(-n+4),.avf-july4 .avp{top:var(--y,30%); left:var(--x,30%); width:var(--s,46cqmin); height:var(--s,46cqmin); margin:calc(var(--s,46cqmin) / -2);
  filter:drop-shadow(0 0 .8cqmin var(--c,#fff));}
.avf-newyear .avp:nth-of-type(n+2):nth-of-type(-n+4)::before,.avf-july4 .avp::before{inset:0; background:radial-gradient(circle at 91.1% 48.3%,#fff 0 0.50cqmin,var(--c,#fff) 0.88cqmin,transparent 1.43cqmin),radial-gradient(circle at 89.5% 63.4%,#fff 0 0.50cqmin,var(--c,#fff) 0.88cqmin,transparent 1.43cqmin),radial-gradient(circle at 77.7% 74.2%,#fff 0 0.50cqmin,var(--c,#fff) 0.88cqmin,transparent 1.43cqmin),radial-gradient(circle at 74.8% 86.2%,#fff 0 0.50cqmin,var(--c,#fff) 0.88cqmin,transparent 1.43cqmin),radial-gradient(circle at 58.1% 87.4%,#fff 0 0.50cqmin,var(--c,#fff) 0.88cqmin,transparent 1.43cqmin),radial-gradient(circle at 39.8% 89.2%,#fff 0 0.50cqmin,var(--c,#fff) 0.88cqmin,transparent 1.43cqmin),radial-gradient(circle at 27.9% 84.0%,#fff 0 0.50cqmin,var(--c,#fff) 0.88cqmin,transparent 1.43cqmin),radial-gradient(circle at 20.7% 73.5%,#fff 0 0.50cqmin,var(--c,#fff) 0.88cqmin,transparent 1.43cqmin),radial-gradient(circle at 8.2% 64.2%,#fff 0 0.50cqmin,var(--c,#fff) 0.88cqmin,transparent 1.43cqmin),radial-gradient(circle at 7.0% 49.8%,#fff 0 0.50cqmin,var(--c,#fff) 0.88cqmin,transparent 1.43cqmin),radial-gradient(circle at 15.9% 36.5%,#fff 0 0.50cqmin,var(--c,#fff) 0.88cqmin,transparent 1.43cqmin),radial-gradient(circle at 19.3% 22.0%,#fff 0 0.50cqmin,var(--c,#fff) 0.88cqmin,transparent 1.43cqmin),radial-gradient(circle at 30.8% 19.1%,#fff 0 0.50cqmin,var(--c,#fff) 0.88cqmin,transparent 1.43cqmin),radial-gradient(circle at 45.3% 9.8%,#fff 0 0.50cqmin,var(--c,#fff) 0.88cqmin,transparent 1.43cqmin),radial-gradient(circle at 59.2% 6.7%,#fff 0 0.50cqmin,var(--c,#fff) 0.88cqmin,transparent 1.43cqmin),radial-gradient(circle at 73.6% 12.1%,#fff 0 0.50cqmin,var(--c,#fff) 0.88cqmin,transparent 1.43cqmin),radial-gradient(circle at 82.9% 21.5%,#fff 0 0.50cqmin,var(--c,#fff) 0.88cqmin,transparent 1.43cqmin),radial-gradient(circle at 91.9% 34.3%,#fff 0 0.50cqmin,var(--c,#fff) 0.88cqmin,transparent 1.43cqmin),radial-gradient(circle at 72.3% 55.2%,#fff 0 0.41cqmin,var(--c,#fff) 0.72cqmin,transparent 1.17cqmin),radial-gradient(circle at 69.0% 64.0%,#fff 0 0.41cqmin,var(--c,#fff) 0.72cqmin,transparent 1.17cqmin),radial-gradient(circle at 56.8% 73.9%,#fff 0 0.41cqmin,var(--c,#fff) 0.72cqmin,transparent 1.17cqmin),radial-gradient(circle at 45.4% 73.6%,#fff 0 0.41cqmin,var(--c,#fff) 0.72cqmin,transparent 1.17cqmin),radial-gradient(circle at 34.3% 68.9%,#fff 0 0.41cqmin,var(--c,#fff) 0.72cqmin,transparent 1.17cqmin),radial-gradient(circle at 26.1% 59.5%,#fff 0 0.41cqmin,var(--c,#fff) 0.72cqmin,transparent 1.17cqmin),radial-gradient(circle at 22.9% 45.0%,#fff 0 0.41cqmin,var(--c,#fff) 0.72cqmin,transparent 1.17cqmin),radial-gradient(circle at 29.2% 31.7%,#fff 0 0.41cqmin,var(--c,#fff) 0.72cqmin,transparent 1.17cqmin),radial-gradient(circle at 41.8% 23.2%,#fff 0 0.41cqmin,var(--c,#fff) 0.72cqmin,transparent 1.17cqmin),radial-gradient(circle at 54.6% 27.2%,#fff 0 0.41cqmin,var(--c,#fff) 0.72cqmin,transparent 1.17cqmin),radial-gradient(circle at 69.0% 29.6%,#fff 0 0.41cqmin,var(--c,#fff) 0.72cqmin,transparent 1.17cqmin),radial-gradient(circle at 74.6% 42.7%,#fff 0 0.41cqmin,var(--c,#fff) 0.72cqmin,transparent 1.17cqmin),radial-gradient(circle at 60.9% 50.4%,#fff 0 0.32cqmin,var(--c,#fff) 0.56cqmin,transparent 0.91cqmin),radial-gradient(circle at 55.4% 60.5%,#fff 0 0.32cqmin,var(--c,#fff) 0.56cqmin,transparent 0.91cqmin),radial-gradient(circle at 45.1% 59.3%,#fff 0 0.32cqmin,var(--c,#fff) 0.56cqmin,transparent 0.91cqmin),radial-gradient(circle at 37.1% 49.3%,#fff 0 0.32cqmin,var(--c,#fff) 0.56cqmin,transparent 0.91cqmin),radial-gradient(circle at 43.1% 39.7%,#fff 0 0.32cqmin,var(--c,#fff) 0.56cqmin,transparent 0.91cqmin),radial-gradient(circle at 55.2% 40.6%,#fff 0 0.32cqmin,var(--c,#fff) 0.56cqmin,transparent 0.91cqmin); opacity:0; animation:avf-fw var(--d,3.6s) cubic-bezier(.15,.7,.3,1) infinite; animation-delay:var(--t,0s);}
.avf-newyear .avp:nth-of-type(n+2):nth-of-type(-n+4)::after,.avf-july4 .avp::after{left:50%; top:50%; width:max(1px,.6cqmin); height:30cqmin; margin-left:-.3cqmin; opacity:0;
  background:linear-gradient(var(--c,#fff),transparent); animation:avf-rocket var(--d,3.6s) ease-out infinite; animation-delay:var(--t,0s);}
@keyframes avf-fw{0%,28%{transform:scale(.05); opacity:0;} 30%{opacity:1;} 62%{transform:scale(1) translateY(0); opacity:.95;} 100%{transform:scale(1.08) translateY(5cqmin); opacity:0;}}
@keyframes avf-rocket{0%{transform:translateY(60cqmin) scaleY(.3); opacity:0;} 4%{opacity:.9;} 28%{transform:translateY(0) scaleY(1); opacity:.9;} 31%,100%{transform:translateY(0) scaleY(.2); opacity:0;}}

/* New Year: black and gold lacquer, gold and champagne fireworks, a little glitter and a HAPPY NEW YEAR plate */
.avf-newyear{--rw:4.8cqmin;}
.avf-newyear .avf-o{box-shadow:inset 0 0 12cqmin rgba(0,0,0,.45);}
.avf-newyear .avp:nth-of-type(1){background:linear-gradient(#1c1a16,#060504); border:max(1px,.6cqmin) solid #e2b53e; color:#f7dc85; font-size:5cqmin; letter-spacing:.5cqmin; z-index:1;}
.avf-newyear .avp:nth-of-type(1)::before{content:"HAPPY NEW YEAR"; margin-right:-.5cqmin;}
.avf-newyear .avp:nth-of-type(2){--c:#ffd86b; --x:30%; --y:32%; --t:0s;} .avf-newyear .avp:nth-of-type(3){--c:#fff1d6; --x:72%; --y:24%; --t:-1.2s; --s:38cqmin; --d:4.2s;} .avf-newyear .avp:nth-of-type(4){--c:#f0b85a; --x:60%; --y:58%; --t:-2.5s; --s:32cqmin;}
.avf-newyear .avp:nth-of-type(n+5){width:3.4cqmin; height:3.4cqmin; background:#fff6d8; clip-path:polygon(50% 0,58% 42%,100% 50%,58% 58%,50% 100%,42% 58%,0 50%,42% 42%); filter:drop-shadow(0 0 .8cqmin #ffd86b);
  animation:avf-twinkle 2.2s ease-in-out infinite; animation-delay:calc(var(--i) * -.7s);}
.avf-newyear .avp:nth-of-type(5){left:12%; top:14%;} .avf-newyear .avp:nth-of-type(6){right:14%; top:46%;} .avf-newyear .avp:nth-of-type(7){left:40%; top:10%;}

/* Rose Vine: two rose vines twisted round the frame, tied with a rose at every loop, and a petal now and then drifting down over the picture */
.avf-valentine .avf-f{border:max(9px,16cqmin) solid transparent; border-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2096%2096%22%3E%3Cdefs%3E%3CradialGradient%20id%3D%22rg%22%20cx%3D%22.42%22%20cy%3D%22.38%22%20r%3D%22.7%22%3E%3Cstop%20offset%3D%220%22%20stop-color%3D%22%23ff5a6a%22%2F%3E%3Cstop%20offset%3D%22.35%22%20stop-color%3D%22%23d0142e%22%2F%3E%3Cstop%20offset%3D%22.75%22%20stop-color%3D%22%238a0619%22%2F%3E%3Cstop%20offset%3D%221%22%20stop-color%3D%22%234a000c%22%2F%3E%3C%2FradialGradient%3E%3ClinearGradient%20id%3D%22lg%22%20x1%3D%220%22%20y1%3D%220%22%20x2%3D%220%22%20y2%3D%221%22%3E%3Cstop%20offset%3D%220%22%20stop-color%3D%22%235a9a48%22%2F%3E%3Cstop%20offset%3D%221%22%20stop-color%3D%22%231f4a1c%22%2F%3E%3C%2FlinearGradient%3E%3C%2Fdefs%3E%3Cg%3E%3Cpath%20d%3D%22M32.00%2012.00%20L33.00%2012.78%20L34.00%2013.53%20L35.00%2014.22%20L36.00%2014.83%20L37.00%2015.33%20L38.00%2015.70%20L39.00%2015.92%20L40.00%2016.00%20L41.00%2015.92%20L42.00%2015.70%20L43.00%2015.33%20L44.00%2014.83%20L45.00%2014.22%20L46.00%2013.53%20L47.00%2012.78%20L48.00%2012.00%20L49.00%2011.22%20L50.00%2010.47%20L51.00%209.78%20L52.00%209.17%20L53.00%208.67%20L54.00%208.30%20L55.00%208.08%20L56.00%208.00%20L57.00%208.08%20L58.00%208.30%20L59.00%208.67%20L60.00%209.17%20L61.00%209.78%20L62.00%2010.47%20L63.00%2011.22%20L64.00%2012.00%22%20fill%3D%22none%22%20stroke%3D%22%231f4a1c%22%20stroke-width%3D%221.7%22%2F%3E%3Cpath%20d%3D%22M32.00%2012.00%20L33.00%2012.78%20L34.00%2013.53%20L35.00%2014.22%20L36.00%2014.83%20L37.00%2015.33%20L38.00%2015.70%20L39.00%2015.92%20L40.00%2016.00%20L41.00%2015.92%20L42.00%2015.70%20L43.00%2015.33%20L44.00%2014.83%20L45.00%2014.22%20L46.00%2013.53%20L47.00%2012.78%20L48.00%2012.00%20L49.00%2011.22%20L50.00%2010.47%20L51.00%209.78%20L52.00%209.17%20L53.00%208.67%20L54.00%208.30%20L55.00%208.08%20L56.00%208.00%20L57.00%208.08%20L58.00%208.30%20L59.00%208.67%20L60.00%209.17%20L61.00%209.78%20L62.00%2010.47%20L63.00%2011.22%20L64.00%2012.00%22%20fill%3D%22none%22%20stroke%3D%22%234d8a3e%22%20stroke-width%3D%22.6%22%20stroke-opacity%3D%22.7%22%2F%3E%3Cpath%20d%3D%22M32.00%2012.00%20L33.00%2011.22%20L34.00%2010.47%20L35.00%209.78%20L36.00%209.17%20L37.00%208.67%20L38.00%208.30%20L39.00%208.08%20L40.00%208.00%20L41.00%208.08%20L42.00%208.30%20L43.00%208.67%20L44.00%209.17%20L45.00%209.78%20L46.00%2010.47%20L47.00%2011.22%20L48.00%2012.00%20L49.00%2012.78%20L50.00%2013.53%20L51.00%2014.22%20L52.00%2014.83%20L53.00%2015.33%20L54.00%2015.70%20L55.00%2015.92%20L56.00%2016.00%20L57.00%2015.92%20L58.00%2015.70%20L59.00%2015.33%20L60.00%2014.83%20L61.00%2014.22%20L62.00%2013.53%20L63.00%2012.78%20L64.00%2012.00%22%20fill%3D%22none%22%20stroke%3D%22%231f4a1c%22%20stroke-width%3D%221.7%22%2F%3E%3Cpath%20d%3D%22M32.00%2012.00%20L33.00%2011.22%20L34.00%2010.47%20L35.00%209.78%20L36.00%209.17%20L37.00%208.67%20L38.00%208.30%20L39.00%208.08%20L40.00%208.00%20L41.00%208.08%20L42.00%208.30%20L43.00%208.67%20L44.00%209.17%20L45.00%209.78%20L46.00%2010.47%20L47.00%2011.22%20L48.00%2012.00%20L49.00%2012.78%20L50.00%2013.53%20L51.00%2014.22%20L52.00%2014.83%20L53.00%2015.33%20L54.00%2015.70%20L55.00%2015.92%20L56.00%2016.00%20L57.00%2015.92%20L58.00%2015.70%20L59.00%2015.33%20L60.00%2014.83%20L61.00%2014.22%20L62.00%2013.53%20L63.00%2012.78%20L64.00%2012.00%22%20fill%3D%22none%22%20stroke%3D%22%234d8a3e%22%20stroke-width%3D%22.6%22%20stroke-opacity%3D%22.7%22%2F%3E%3Cg%20transform%3D%22translate%2838%2016.5%29%20rotate%2820%29%20scale%280.8%29%22%3E%3Cpath%20d%3D%22M0%200C2-2.4%206-2.4%208.4%200%206%202.4%202%202.4%200%200z%22%20fill%3D%22url%28%23lg%29%22%2F%3E%3Cpath%20d%3D%22M.5%200H7.6%22%20stroke%3D%22%23153a14%22%20stroke-opacity%3D%22.6%22%20stroke-width%3D%22.35%22%2F%3E%3C%2Fg%3E%3Cg%20transform%3D%22translate%2858%207.5%29%20rotate%28-160%29%20scale%280.8%29%22%3E%3Cpath%20d%3D%22M0%200C2-2.4%206-2.4%208.4%200%206%202.4%202%202.4%200%200z%22%20fill%3D%22url%28%23lg%29%22%2F%3E%3Cpath%20d%3D%22M.5%200H7.6%22%20stroke%3D%22%23153a14%22%20stroke-opacity%3D%22.6%22%20stroke-width%3D%22.35%22%2F%3E%3C%2Fg%3E%3Cg%20transform%3D%22translate%2842%207%29%20rotate%28-40%29%20scale%280.7%29%22%3E%3Cpath%20d%3D%22M0%200C2-2.4%206-2.4%208.4%200%206%202.4%202%202.4%200%200z%22%20fill%3D%22url%28%23lg%29%22%2F%3E%3Cpath%20d%3D%22M.5%200H7.6%22%20stroke%3D%22%23153a14%22%20stroke-opacity%3D%22.6%22%20stroke-width%3D%22.35%22%2F%3E%3C%2Fg%3E%3Cg%20transform%3D%22translate%2854%2017%29%20rotate%28140%29%20scale%280.7%29%22%3E%3Cpath%20d%3D%22M0%200C2-2.4%206-2.4%208.4%200%206%202.4%202%202.4%200%200z%22%20fill%3D%22url%28%23lg%29%22%2F%3E%3Cpath%20d%3D%22M.5%200H7.6%22%20stroke%3D%22%23153a14%22%20stroke-opacity%3D%22.6%22%20stroke-width%3D%22.35%22%2F%3E%3C%2Fg%3E%3Cg%20transform%3D%22translate%2848%2012%29%20scale%280.72%29%22%3E%3Ccircle%20r%3D%226.2%22%20fill%3D%22url%28%23rg%29%22%2F%3E%3Cpath%20d%3D%22M-6%202C-4%206.5%203%207%206%203%22%20fill%3D%22none%22%20stroke%3D%22%233a000c%22%20stroke-opacity%3D%22.45%22%20stroke-width%3D%22.7%22%2F%3E%3Cpath%20d%3D%22M-5%201C-5-4%200-6.2%203-5.2%206-4%206%200%204%202.2%22%20fill%3D%22none%22%20stroke%3D%22%233a000c%22%20stroke-opacity%3D%22.5%22%20stroke-width%3D%22.7%22%2F%3E%3Cpath%20d%3D%22M-3%20.3C-3-3%201-4%202.3-2%203.3%200%201.3%202.3-1%201.3%22%20fill%3D%22none%22%20stroke%3D%22%233a000c%22%20stroke-opacity%3D%22.55%22%20stroke-width%3D%22.6%22%2F%3E%3Cpath%20d%3D%22M-1-.4c0-1.1%201.6-1.6%202.1-.5%22%20fill%3D%22none%22%20stroke%3D%22%233a000c%22%20stroke-opacity%3D%22.6%22%20stroke-width%3D%22.5%22%2F%3E%3Cellipse%20cx%3D%22-2.2%22%20cy%3D%22-3.2%22%20rx%3D%222.4%22%20ry%3D%221.2%22%20fill%3D%22%23ffd0d6%22%20fill-opacity%3D%22.22%22%2F%3E%3C%2Fg%3E%3C%2Fg%3E%3Cg%20transform%3D%22matrix%280%201%201%200%200%200%29%22%3E%3Cpath%20d%3D%22M32.00%2012.00%20L33.00%2012.78%20L34.00%2013.53%20L35.00%2014.22%20L36.00%2014.83%20L37.00%2015.33%20L38.00%2015.70%20L39.00%2015.92%20L40.00%2016.00%20L41.00%2015.92%20L42.00%2015.70%20L43.00%2015.33%20L44.00%2014.83%20L45.00%2014.22%20L46.00%2013.53%20L47.00%2012.78%20L48.00%2012.00%20L49.00%2011.22%20L50.00%2010.47%20L51.00%209.78%20L52.00%209.17%20L53.00%208.67%20L54.00%208.30%20L55.00%208.08%20L56.00%208.00%20L57.00%208.08%20L58.00%208.30%20L59.00%208.67%20L60.00%209.17%20L61.00%209.78%20L62.00%2010.47%20L63.00%2011.22%20L64.00%2012.00%22%20fill%3D%22none%22%20stroke%3D%22%231f4a1c%22%20stroke-width%3D%221.7%22%2F%3E%3Cpath%20d%3D%22M32.00%2012.00%20L33.00%2012.78%20L34.00%2013.53%20L35.00%2014.22%20L36.00%2014.83%20L37.00%2015.33%20L38.00%2015.70%20L39.00%2015.92%20L40.00%2016.00%20L41.00%2015.92%20L42.00%2015.70%20L43.00%2015.33%20L44.00%2014.83%20L45.00%2014.22%20L46.00%2013.53%20L47.00%2012.78%20L48.00%2012.00%20L49.00%2011.22%20L50.00%2010.47%20L51.00%209.78%20L52.00%209.17%20L53.00%208.67%20L54.00%208.30%20L55.00%208.08%20L56.00%208.00%20L57.00%208.08%20L58.00%208.30%20L59.00%208.67%20L60.00%209.17%20L61.00%209.78%20L62.00%2010.47%20L63.00%2011.22%20L64.00%2012.00%22%20fill%3D%22none%22%20stroke%3D%22%234d8a3e%22%20stroke-width%3D%22.6%22%20stroke-opacity%3D%22.7%22%2F%3E%3Cpath%20d%3D%22M32.00%2012.00%20L33.00%2011.22%20L34.00%2010.47%20L35.00%209.78%20L36.00%209.17%20L37.00%208.67%20L38.00%208.30%20L39.00%208.08%20L40.00%208.00%20L41.00%208.08%20L42.00%208.30%20L43.00%208.67%20L44.00%209.17%20L45.00%209.78%20L46.00%2010.47%20L47.00%2011.22%20L48.00%2012.00%20L49.00%2012.78%20L50.00%2013.53%20L51.00%2014.22%20L52.00%2014.83%20L53.00%2015.33%20L54.00%2015.70%20L55.00%2015.92%20L56.00%2016.00%20L57.00%2015.92%20L58.00%2015.70%20L59.00%2015.33%20L60.00%2014.83%20L61.00%2014.22%20L62.00%2013.53%20L63.00%2012.78%20L64.00%2012.00%22%20fill%3D%22none%22%20stroke%3D%22%231f4a1c%22%20stroke-width%3D%221.7%22%2F%3E%3Cpath%20d%3D%22M32.00%2012.00%20L33.00%2011.22%20L34.00%2010.47%20L35.00%209.78%20L36.00%209.17%20L37.00%208.67%20L38.00%208.30%20L39.00%208.08%20L40.00%208.00%20L41.00%208.08%20L42.00%208.30%20L43.00%208.67%20L44.00%209.17%20L45.00%209.78%20L46.00%2010.47%20L47.00%2011.22%20L48.00%2012.00%20L49.00%2012.78%20L50.00%2013.53%20L51.00%2014.22%20L52.00%2014.83%20L53.00%2015.33%20L54.00%2015.70%20L55.00%2015.92%20L56.00%2016.00%20L57.00%2015.92%20L58.00%2015.70%20L59.00%2015.33%20L60.00%2014.83%20L61.00%2014.22%20L62.00%2013.53%20L63.00%2012.78%20L64.00%2012.00%22%20fill%3D%22none%22%20stroke%3D%22%234d8a3e%22%20stroke-width%3D%22.6%22%20stroke-opacity%3D%22.7%22%2F%3E%3Cg%20transform%3D%22translate%2838%2016.5%29%20rotate%2820%29%20scale%280.8%29%22%3E%3Cpath%20d%3D%22M0%200C2-2.4%206-2.4%208.4%200%206%202.4%202%202.4%200%200z%22%20fill%3D%22url%28%23lg%29%22%2F%3E%3Cpath%20d%3D%22M.5%200H7.6%22%20stroke%3D%22%23153a14%22%20stroke-opacity%3D%22.6%22%20stroke-width%3D%22.35%22%2F%3E%3C%2Fg%3E%3Cg%20transform%3D%22translate%2858%207.5%29%20rotate%28-160%29%20scale%280.8%29%22%3E%3Cpath%20d%3D%22M0%200C2-2.4%206-2.4%208.4%200%206%202.4%202%202.4%200%200z%22%20fill%3D%22url%28%23lg%29%22%2F%3E%3Cpath%20d%3D%22M.5%200H7.6%22%20stroke%3D%22%23153a14%22%20stroke-opacity%3D%22.6%22%20stroke-width%3D%22.35%22%2F%3E%3C%2Fg%3E%3Cg%20transform%3D%22translate%2842%207%29%20rotate%28-40%29%20scale%280.7%29%22%3E%3Cpath%20d%3D%22M0%200C2-2.4%206-2.4%208.4%200%206%202.4%202%202.4%200%200z%22%20fill%3D%22url%28%23lg%29%22%2F%3E%3Cpath%20d%3D%22M.5%200H7.6%22%20stroke%3D%22%23153a14%22%20stroke-opacity%3D%22.6%22%20stroke-width%3D%22.35%22%2F%3E%3C%2Fg%3E%3Cg%20transform%3D%22translate%2854%2017%29%20rotate%28140%29%20scale%280.7%29%22%3E%3Cpath%20d%3D%22M0%200C2-2.4%206-2.4%208.4%200%206%202.4%202%202.4%200%200z%22%20fill%3D%22url%28%23lg%29%22%2F%3E%3Cpath%20d%3D%22M.5%200H7.6%22%20stroke%3D%22%23153a14%22%20stroke-opacity%3D%22.6%22%20stroke-width%3D%22.35%22%2F%3E%3C%2Fg%3E%3Cg%20transform%3D%22translate%2848%2012%29%20scale%280.72%29%22%3E%3Ccircle%20r%3D%226.2%22%20fill%3D%22url%28%23rg%29%22%2F%3E%3Cpath%20d%3D%22M-6%202C-4%206.5%203%207%206%203%22%20fill%3D%22none%22%20stroke%3D%22%233a000c%22%20stroke-opacity%3D%22.45%22%20stroke-width%3D%22.7%22%2F%3E%3Cpath%20d%3D%22M-5%201C-5-4%200-6.2%203-5.2%206-4%206%200%204%202.2%22%20fill%3D%22none%22%20stroke%3D%22%233a000c%22%20stroke-opacity%3D%22.5%22%20stroke-width%3D%22.7%22%2F%3E%3Cpath%20d%3D%22M-3%20.3C-3-3%201-4%202.3-2%203.3%200%201.3%202.3-1%201.3%22%20fill%3D%22none%22%20stroke%3D%22%233a000c%22%20stroke-opacity%3D%22.55%22%20stroke-width%3D%22.6%22%2F%3E%3Cpath%20d%3D%22M-1-.4c0-1.1%201.6-1.6%202.1-.5%22%20fill%3D%22none%22%20stroke%3D%22%233a000c%22%20stroke-opacity%3D%22.6%22%20stroke-width%3D%22.5%22%2F%3E%3Cellipse%20cx%3D%22-2.2%22%20cy%3D%22-3.2%22%20rx%3D%222.4%22%20ry%3D%221.2%22%20fill%3D%22%23ffd0d6%22%20fill-opacity%3D%22.22%22%2F%3E%3C%2Fg%3E%3C%2Fg%3E%3Cg%20transform%3D%22matrix%280%201%20-1%200%2096%200%29%22%3E%3Cpath%20d%3D%22M32.00%2012.00%20L33.00%2012.78%20L34.00%2013.53%20L35.00%2014.22%20L36.00%2014.83%20L37.00%2015.33%20L38.00%2015.70%20L39.00%2015.92%20L40.00%2016.00%20L41.00%2015.92%20L42.00%2015.70%20L43.00%2015.33%20L44.00%2014.83%20L45.00%2014.22%20L46.00%2013.53%20L47.00%2012.78%20L48.00%2012.00%20L49.00%2011.22%20L50.00%2010.47%20L51.00%209.78%20L52.00%209.17%20L53.00%208.67%20L54.00%208.30%20L55.00%208.08%20L56.00%208.00%20L57.00%208.08%20L58.00%208.30%20L59.00%208.67%20L60.00%209.17%20L61.00%209.78%20L62.00%2010.47%20L63.00%2011.22%20L64.00%2012.00%22%20fill%3D%22none%22%20stroke%3D%22%231f4a1c%22%20stroke-width%3D%221.7%22%2F%3E%3Cpath%20d%3D%22M32.00%2012.00%20L33.00%2012.78%20L34.00%2013.53%20L35.00%2014.22%20L36.00%2014.83%20L37.00%2015.33%20L38.00%2015.70%20L39.00%2015.92%20L40.00%2016.00%20L41.00%2015.92%20L42.00%2015.70%20L43.00%2015.33%20L44.00%2014.83%20L45.00%2014.22%20L46.00%2013.53%20L47.00%2012.78%20L48.00%2012.00%20L49.00%2011.22%20L50.00%2010.47%20L51.00%209.78%20L52.00%209.17%20L53.00%208.67%20L54.00%208.30%20L55.00%208.08%20L56.00%208.00%20L57.00%208.08%20L58.00%208.30%20L59.00%208.67%20L60.00%209.17%20L61.00%209.78%20L62.00%2010.47%20L63.00%2011.22%20L64.00%2012.00%22%20fill%3D%22none%22%20stroke%3D%22%234d8a3e%22%20stroke-width%3D%22.6%22%20stroke-opacity%3D%22.7%22%2F%3E%3Cpath%20d%3D%22M32.00%2012.00%20L33.00%2011.22%20L34.00%2010.47%20L35.00%209.78%20L36.00%209.17%20L37.00%208.67%20L38.00%208.30%20L39.00%208.08%20L40.00%208.00%20L41.00%208.08%20L42.00%208.30%20L43.00%208.67%20L44.00%209.17%20L45.00%209.78%20L46.00%2010.47%20L47.00%2011.22%20L48.00%2012.00%20L49.00%2012.78%20L50.00%2013.53%20L51.00%2014.22%20L52.00%2014.83%20L53.00%2015.33%20L54.00%2015.70%20L55.00%2015.92%20L56.00%2016.00%20L57.00%2015.92%20L58.00%2015.70%20L59.00%2015.33%20L60.00%2014.83%20L61.00%2014.22%20L62.00%2013.53%20L63.00%2012.78%20L64.00%2012.00%22%20fill%3D%22none%22%20stroke%3D%22%231f4a1c%22%20stroke-width%3D%221.7%22%2F%3E%3Cpath%20d%3D%22M32.00%2012.00%20L33.00%2011.22%20L34.00%2010.47%20L35.00%209.78%20L36.00%209.17%20L37.00%208.67%20L38.00%208.30%20L39.00%208.08%20L40.00%208.00%20L41.00%208.08%20L42.00%208.30%20L43.00%208.67%20L44.00%209.17%20L45.00%209.78%20L46.00%2010.47%20L47.00%2011.22%20L48.00%2012.00%20L49.00%2012.78%20L50.00%2013.53%20L51.00%2014.22%20L52.00%2014.83%20L53.00%2015.33%20L54.00%2015.70%20L55.00%2015.92%20L56.00%2016.00%20L57.00%2015.92%20L58.00%2015.70%20L59.00%2015.33%20L60.00%2014.83%20L61.00%2014.22%20L62.00%2013.53%20L63.00%2012.78%20L64.00%2012.00%22%20fill%3D%22none%22%20stroke%3D%22%234d8a3e%22%20stroke-width%3D%22.6%22%20stroke-opacity%3D%22.7%22%2F%3E%3Cg%20transform%3D%22translate%2838%2016.5%29%20rotate%2820%29%20scale%280.8%29%22%3E%3Cpath%20d%3D%22M0%200C2-2.4%206-2.4%208.4%200%206%202.4%202%202.4%200%200z%22%20fill%3D%22url%28%23lg%29%22%2F%3E%3Cpath%20d%3D%22M.5%200H7.6%22%20stroke%3D%22%23153a14%22%20stroke-opacity%3D%22.6%22%20stroke-width%3D%22.35%22%2F%3E%3C%2Fg%3E%3Cg%20transform%3D%22translate%2858%207.5%29%20rotate%28-160%29%20scale%280.8%29%22%3E%3Cpath%20d%3D%22M0%200C2-2.4%206-2.4%208.4%200%206%202.4%202%202.4%200%200z%22%20fill%3D%22url%28%23lg%29%22%2F%3E%3Cpath%20d%3D%22M.5%200H7.6%22%20stroke%3D%22%23153a14%22%20stroke-opacity%3D%22.6%22%20stroke-width%3D%22.35%22%2F%3E%3C%2Fg%3E%3Cg%20transform%3D%22translate%2842%207%29%20rotate%28-40%29%20scale%280.7%29%22%3E%3Cpath%20d%3D%22M0%200C2-2.4%206-2.4%208.4%200%206%202.4%202%202.4%200%200z%22%20fill%3D%22url%28%23lg%29%22%2F%3E%3Cpath%20d%3D%22M.5%200H7.6%22%20stroke%3D%22%23153a14%22%20stroke-opacity%3D%22.6%22%20stroke-width%3D%22.35%22%2F%3E%3C%2Fg%3E%3Cg%20transform%3D%22translate%2854%2017%29%20rotate%28140%29%20scale%280.7%29%22%3E%3Cpath%20d%3D%22M0%200C2-2.4%206-2.4%208.4%200%206%202.4%202%202.4%200%200z%22%20fill%3D%22url%28%23lg%29%22%2F%3E%3Cpath%20d%3D%22M.5%200H7.6%22%20stroke%3D%22%23153a14%22%20stroke-opacity%3D%22.6%22%20stroke-width%3D%22.35%22%2F%3E%3C%2Fg%3E%3Cg%20transform%3D%22translate%2848%2012%29%20scale%280.72%29%22%3E%3Ccircle%20r%3D%226.2%22%20fill%3D%22url%28%23rg%29%22%2F%3E%3Cpath%20d%3D%22M-6%202C-4%206.5%203%207%206%203%22%20fill%3D%22none%22%20stroke%3D%22%233a000c%22%20stroke-opacity%3D%22.45%22%20stroke-width%3D%22.7%22%2F%3E%3Cpath%20d%3D%22M-5%201C-5-4%200-6.2%203-5.2%206-4%206%200%204%202.2%22%20fill%3D%22none%22%20stroke%3D%22%233a000c%22%20stroke-opacity%3D%22.5%22%20stroke-width%3D%22.7%22%2F%3E%3Cpath%20d%3D%22M-3%20.3C-3-3%201-4%202.3-2%203.3%200%201.3%202.3-1%201.3%22%20fill%3D%22none%22%20stroke%3D%22%233a000c%22%20stroke-opacity%3D%22.55%22%20stroke-width%3D%22.6%22%2F%3E%3Cpath%20d%3D%22M-1-.4c0-1.1%201.6-1.6%202.1-.5%22%20fill%3D%22none%22%20stroke%3D%22%233a000c%22%20stroke-opacity%3D%22.6%22%20stroke-width%3D%22.5%22%2F%3E%3Cellipse%20cx%3D%22-2.2%22%20cy%3D%22-3.2%22%20rx%3D%222.4%22%20ry%3D%221.2%22%20fill%3D%22%23ffd0d6%22%20fill-opacity%3D%22.22%22%2F%3E%3C%2Fg%3E%3C%2Fg%3E%3Cg%20transform%3D%22matrix%281%200%200%20-1%200%2096%29%22%3E%3Cpath%20d%3D%22M32.00%2012.00%20L33.00%2012.78%20L34.00%2013.53%20L35.00%2014.22%20L36.00%2014.83%20L37.00%2015.33%20L38.00%2015.70%20L39.00%2015.92%20L40.00%2016.00%20L41.00%2015.92%20L42.00%2015.70%20L43.00%2015.33%20L44.00%2014.83%20L45.00%2014.22%20L46.00%2013.53%20L47.00%2012.78%20L48.00%2012.00%20L49.00%2011.22%20L50.00%2010.47%20L51.00%209.78%20L52.00%209.17%20L53.00%208.67%20L54.00%208.30%20L55.00%208.08%20L56.00%208.00%20L57.00%208.08%20L58.00%208.30%20L59.00%208.67%20L60.00%209.17%20L61.00%209.78%20L62.00%2010.47%20L63.00%2011.22%20L64.00%2012.00%22%20fill%3D%22none%22%20stroke%3D%22%231f4a1c%22%20stroke-width%3D%221.7%22%2F%3E%3Cpath%20d%3D%22M32.00%2012.00%20L33.00%2012.78%20L34.00%2013.53%20L35.00%2014.22%20L36.00%2014.83%20L37.00%2015.33%20L38.00%2015.70%20L39.00%2015.92%20L40.00%2016.00%20L41.00%2015.92%20L42.00%2015.70%20L43.00%2015.33%20L44.00%2014.83%20L45.00%2014.22%20L46.00%2013.53%20L47.00%2012.78%20L48.00%2012.00%20L49.00%2011.22%20L50.00%2010.47%20L51.00%209.78%20L52.00%209.17%20L53.00%208.67%20L54.00%208.30%20L55.00%208.08%20L56.00%208.00%20L57.00%208.08%20L58.00%208.30%20L59.00%208.67%20L60.00%209.17%20L61.00%209.78%20L62.00%2010.47%20L63.00%2011.22%20L64.00%2012.00%22%20fill%3D%22none%22%20stroke%3D%22%234d8a3e%22%20stroke-width%3D%22.6%22%20stroke-opacity%3D%22.7%22%2F%3E%3Cpath%20d%3D%22M32.00%2012.00%20L33.00%2011.22%20L34.00%2010.47%20L35.00%209.78%20L36.00%209.17%20L37.00%208.67%20L38.00%208.30%20L39.00%208.08%20L40.00%208.00%20L41.00%208.08%20L42.00%208.30%20L43.00%208.67%20L44.00%209.17%20L45.00%209.78%20L46.00%2010.47%20L47.00%2011.22%20L48.00%2012.00%20L49.00%2012.78%20L50.00%2013.53%20L51.00%2014.22%20L52.00%2014.83%20L53.00%2015.33%20L54.00%2015.70%20L55.00%2015.92%20L56.00%2016.00%20L57.00%2015.92%20L58.00%2015.70%20L59.00%2015.33%20L60.00%2014.83%20L61.00%2014.22%20L62.00%2013.53%20L63.00%2012.78%20L64.00%2012.00%22%20fill%3D%22none%22%20stroke%3D%22%231f4a1c%22%20stroke-width%3D%221.7%22%2F%3E%3Cpath%20d%3D%22M32.00%2012.00%20L33.00%2011.22%20L34.00%2010.47%20L35.00%209.78%20L36.00%209.17%20L37.00%208.67%20L38.00%208.30%20L39.00%208.08%20L40.00%208.00%20L41.00%208.08%20L42.00%208.30%20L43.00%208.67%20L44.00%209.17%20L45.00%209.78%20L46.00%2010.47%20L47.00%2011.22%20L48.00%2012.00%20L49.00%2012.78%20L50.00%2013.53%20L51.00%2014.22%20L52.00%2014.83%20L53.00%2015.33%20L54.00%2015.70%20L55.00%2015.92%20L56.00%2016.00%20L57.00%2015.92%20L58.00%2015.70%20L59.00%2015.33%20L60.00%2014.83%20L61.00%2014.22%20L62.00%2013.53%20L63.00%2012.78%20L64.00%2012.00%22%20fill%3D%22none%22%20stroke%3D%22%234d8a3e%22%20stroke-width%3D%22.6%22%20stroke-opacity%3D%22.7%22%2F%3E%3Cg%20transform%3D%22translate%2838%2016.5%29%20rotate%2820%29%20scale%280.8%29%22%3E%3Cpath%20d%3D%22M0%200C2-2.4%206-2.4%208.4%200%206%202.4%202%202.4%200%200z%22%20fill%3D%22url%28%23lg%29%22%2F%3E%3Cpath%20d%3D%22M.5%200H7.6%22%20stroke%3D%22%23153a14%22%20stroke-opacity%3D%22.6%22%20stroke-width%3D%22.35%22%2F%3E%3C%2Fg%3E%3Cg%20transform%3D%22translate%2858%207.5%29%20rotate%28-160%29%20scale%280.8%29%22%3E%3Cpath%20d%3D%22M0%200C2-2.4%206-2.4%208.4%200%206%202.4%202%202.4%200%200z%22%20fill%3D%22url%28%23lg%29%22%2F%3E%3Cpath%20d%3D%22M.5%200H7.6%22%20stroke%3D%22%23153a14%22%20stroke-opacity%3D%22.6%22%20stroke-width%3D%22.35%22%2F%3E%3C%2Fg%3E%3Cg%20transform%3D%22translate%2842%207%29%20rotate%28-40%29%20scale%280.7%29%22%3E%3Cpath%20d%3D%22M0%200C2-2.4%206-2.4%208.4%200%206%202.4%202%202.4%200%200z%22%20fill%3D%22url%28%23lg%29%22%2F%3E%3Cpath%20d%3D%22M.5%200H7.6%22%20stroke%3D%22%23153a14%22%20stroke-opacity%3D%22.6%22%20stroke-width%3D%22.35%22%2F%3E%3C%2Fg%3E%3Cg%20transform%3D%22translate%2854%2017%29%20rotate%28140%29%20scale%280.7%29%22%3E%3Cpath%20d%3D%22M0%200C2-2.4%206-2.4%208.4%200%206%202.4%202%202.4%200%200z%22%20fill%3D%22url%28%23lg%29%22%2F%3E%3Cpath%20d%3D%22M.5%200H7.6%22%20stroke%3D%22%23153a14%22%20stroke-opacity%3D%22.6%22%20stroke-width%3D%22.35%22%2F%3E%3C%2Fg%3E%3Cg%20transform%3D%22translate%2848%2012%29%20scale%280.72%29%22%3E%3Ccircle%20r%3D%226.2%22%20fill%3D%22url%28%23rg%29%22%2F%3E%3Cpath%20d%3D%22M-6%202C-4%206.5%203%207%206%203%22%20fill%3D%22none%22%20stroke%3D%22%233a000c%22%20stroke-opacity%3D%22.45%22%20stroke-width%3D%22.7%22%2F%3E%3Cpath%20d%3D%22M-5%201C-5-4%200-6.2%203-5.2%206-4%206%200%204%202.2%22%20fill%3D%22none%22%20stroke%3D%22%233a000c%22%20stroke-opacity%3D%22.5%22%20stroke-width%3D%22.7%22%2F%3E%3Cpath%20d%3D%22M-3%20.3C-3-3%201-4%202.3-2%203.3%200%201.3%202.3-1%201.3%22%20fill%3D%22none%22%20stroke%3D%22%233a000c%22%20stroke-opacity%3D%22.55%22%20stroke-width%3D%22.6%22%2F%3E%3Cpath%20d%3D%22M-1-.4c0-1.1%201.6-1.6%202.1-.5%22%20fill%3D%22none%22%20stroke%3D%22%233a000c%22%20stroke-opacity%3D%22.6%22%20stroke-width%3D%22.5%22%2F%3E%3Cellipse%20cx%3D%22-2.2%22%20cy%3D%22-3.2%22%20rx%3D%222.4%22%20ry%3D%221.2%22%20fill%3D%22%23ffd0d6%22%20fill-opacity%3D%22.22%22%2F%3E%3C%2Fg%3E%3C%2Fg%3E%3Cg%3E%3Cpath%20d%3D%22M17%2013C22%2012%2027%2012%2032%2012%22%20fill%3D%22none%22%20stroke%3D%22%231f4a1c%22%20stroke-width%3D%221.7%22%2F%3E%3Cpath%20d%3D%22M13%2017C12%2022%2012%2027%2012%2032%22%20fill%3D%22none%22%20stroke%3D%22%231f4a1c%22%20stroke-width%3D%221.7%22%2F%3E%3Cpath%20d%3D%22M15%2016C22%2017%2027%2010%2032%2012%22%20fill%3D%22none%22%20stroke%3D%22%231f4a1c%22%20stroke-width%3D%221.4%22%2F%3E%3Cpath%20d%3D%22M16%2015C17%2022%2010%2027%2012%2032%22%20fill%3D%22none%22%20stroke%3D%22%231f4a1c%22%20stroke-width%3D%221.4%22%2F%3E%3Cg%20transform%3D%22translate%2819%2019%29%20rotate%2845%29%20scale%281.1%29%22%3E%3Cpath%20d%3D%22M0%200C2-2.4%206-2.4%208.4%200%206%202.4%202%202.4%200%200z%22%20fill%3D%22url%28%23lg%29%22%2F%3E%3Cpath%20d%3D%22M.5%200H7.6%22%20stroke%3D%22%23153a14%22%20stroke-opacity%3D%22.6%22%20stroke-width%3D%22.35%22%2F%3E%3C%2Fg%3E%3Cg%20transform%3D%22translate%2821%209%29%20rotate%28-15%29%20scale%280.9%29%22%3E%3Cpath%20d%3D%22M0%200C2-2.4%206-2.4%208.4%200%206%202.4%202%202.4%200%200z%22%20fill%3D%22url%28%23lg%29%22%2F%3E%3Cpath%20d%3D%22M.5%200H7.6%22%20stroke%3D%22%23153a14%22%20stroke-opacity%3D%22.6%22%20stroke-width%3D%22.35%22%2F%3E%3C%2Fg%3E%3Cg%20transform%3D%22translate%289%2021%29%20rotate%28105%29%20scale%280.9%29%22%3E%3Cpath%20d%3D%22M0%200C2-2.4%206-2.4%208.4%200%206%202.4%202%202.4%200%200z%22%20fill%3D%22url%28%23lg%29%22%2F%3E%3Cpath%20d%3D%22M.5%200H7.6%22%20stroke%3D%22%23153a14%22%20stroke-opacity%3D%22.6%22%20stroke-width%3D%22.35%22%2F%3E%3C%2Fg%3E%3Cg%20transform%3D%22translate%2813%2013%29%20scale%281.35%29%22%3E%3Ccircle%20r%3D%226.2%22%20fill%3D%22url%28%23rg%29%22%2F%3E%3Cpath%20d%3D%22M-6%202C-4%206.5%203%207%206%203%22%20fill%3D%22none%22%20stroke%3D%22%233a000c%22%20stroke-opacity%3D%22.45%22%20stroke-width%3D%22.7%22%2F%3E%3Cpath%20d%3D%22M-5%201C-5-4%200-6.2%203-5.2%206-4%206%200%204%202.2%22%20fill%3D%22none%22%20stroke%3D%22%233a000c%22%20stroke-opacity%3D%22.5%22%20stroke-width%3D%22.7%22%2F%3E%3Cpath%20d%3D%22M-3%20.3C-3-3%201-4%202.3-2%203.3%200%201.3%202.3-1%201.3%22%20fill%3D%22none%22%20stroke%3D%22%233a000c%22%20stroke-opacity%3D%22.55%22%20stroke-width%3D%22.6%22%2F%3E%3Cpath%20d%3D%22M-1-.4c0-1.1%201.6-1.6%202.1-.5%22%20fill%3D%22none%22%20stroke%3D%22%233a000c%22%20stroke-opacity%3D%22.6%22%20stroke-width%3D%22.5%22%2F%3E%3Cellipse%20cx%3D%22-2.2%22%20cy%3D%22-3.2%22%20rx%3D%222.4%22%20ry%3D%221.2%22%20fill%3D%22%23ffd0d6%22%20fill-opacity%3D%22.22%22%2F%3E%3C%2Fg%3E%3C%2Fg%3E%3Cg%20transform%3D%22matrix%28-1%200%200%201%2096%200%29%22%3E%3Cpath%20d%3D%22M17%2013C22%2012%2027%2012%2032%2012%22%20fill%3D%22none%22%20stroke%3D%22%231f4a1c%22%20stroke-width%3D%221.7%22%2F%3E%3Cpath%20d%3D%22M13%2017C12%2022%2012%2027%2012%2032%22%20fill%3D%22none%22%20stroke%3D%22%231f4a1c%22%20stroke-width%3D%221.7%22%2F%3E%3Cpath%20d%3D%22M15%2016C22%2017%2027%2010%2032%2012%22%20fill%3D%22none%22%20stroke%3D%22%231f4a1c%22%20stroke-width%3D%221.4%22%2F%3E%3Cpath%20d%3D%22M16%2015C17%2022%2010%2027%2012%2032%22%20fill%3D%22none%22%20stroke%3D%22%231f4a1c%22%20stroke-width%3D%221.4%22%2F%3E%3Cg%20transform%3D%22translate%2819%2019%29%20rotate%2845%29%20scale%281.1%29%22%3E%3Cpath%20d%3D%22M0%200C2-2.4%206-2.4%208.4%200%206%202.4%202%202.4%200%200z%22%20fill%3D%22url%28%23lg%29%22%2F%3E%3Cpath%20d%3D%22M.5%200H7.6%22%20stroke%3D%22%23153a14%22%20stroke-opacity%3D%22.6%22%20stroke-width%3D%22.35%22%2F%3E%3C%2Fg%3E%3Cg%20transform%3D%22translate%2821%209%29%20rotate%28-15%29%20scale%280.9%29%22%3E%3Cpath%20d%3D%22M0%200C2-2.4%206-2.4%208.4%200%206%202.4%202%202.4%200%200z%22%20fill%3D%22url%28%23lg%29%22%2F%3E%3Cpath%20d%3D%22M.5%200H7.6%22%20stroke%3D%22%23153a14%22%20stroke-opacity%3D%22.6%22%20stroke-width%3D%22.35%22%2F%3E%3C%2Fg%3E%3Cg%20transform%3D%22translate%289%2021%29%20rotate%28105%29%20scale%280.9%29%22%3E%3Cpath%20d%3D%22M0%200C2-2.4%206-2.4%208.4%200%206%202.4%202%202.4%200%200z%22%20fill%3D%22url%28%23lg%29%22%2F%3E%3Cpath%20d%3D%22M.5%200H7.6%22%20stroke%3D%22%23153a14%22%20stroke-opacity%3D%22.6%22%20stroke-width%3D%22.35%22%2F%3E%3C%2Fg%3E%3Cg%20transform%3D%22translate%2813%2013%29%20scale%281.35%29%22%3E%3Ccircle%20r%3D%226.2%22%20fill%3D%22url%28%23rg%29%22%2F%3E%3Cpath%20d%3D%22M-6%202C-4%206.5%203%207%206%203%22%20fill%3D%22none%22%20stroke%3D%22%233a000c%22%20stroke-opacity%3D%22.45%22%20stroke-width%3D%22.7%22%2F%3E%3Cpath%20d%3D%22M-5%201C-5-4%200-6.2%203-5.2%206-4%206%200%204%202.2%22%20fill%3D%22none%22%20stroke%3D%22%233a000c%22%20stroke-opacity%3D%22.5%22%20stroke-width%3D%22.7%22%2F%3E%3Cpath%20d%3D%22M-3%20.3C-3-3%201-4%202.3-2%203.3%200%201.3%202.3-1%201.3%22%20fill%3D%22none%22%20stroke%3D%22%233a000c%22%20stroke-opacity%3D%22.55%22%20stroke-width%3D%22.6%22%2F%3E%3Cpath%20d%3D%22M-1-.4c0-1.1%201.6-1.6%202.1-.5%22%20fill%3D%22none%22%20stroke%3D%22%233a000c%22%20stroke-opacity%3D%22.6%22%20stroke-width%3D%22.5%22%2F%3E%3Cellipse%20cx%3D%22-2.2%22%20cy%3D%22-3.2%22%20rx%3D%222.4%22%20ry%3D%221.2%22%20fill%3D%22%23ffd0d6%22%20fill-opacity%3D%22.22%22%2F%3E%3C%2Fg%3E%3C%2Fg%3E%3Cg%20transform%3D%22matrix%281%200%200%20-1%200%2096%29%22%3E%3Cpath%20d%3D%22M17%2013C22%2012%2027%2012%2032%2012%22%20fill%3D%22none%22%20stroke%3D%22%231f4a1c%22%20stroke-width%3D%221.7%22%2F%3E%3Cpath%20d%3D%22M13%2017C12%2022%2012%2027%2012%2032%22%20fill%3D%22none%22%20stroke%3D%22%231f4a1c%22%20stroke-width%3D%221.7%22%2F%3E%3Cpath%20d%3D%22M15%2016C22%2017%2027%2010%2032%2012%22%20fill%3D%22none%22%20stroke%3D%22%231f4a1c%22%20stroke-width%3D%221.4%22%2F%3E%3Cpath%20d%3D%22M16%2015C17%2022%2010%2027%2012%2032%22%20fill%3D%22none%22%20stroke%3D%22%231f4a1c%22%20stroke-width%3D%221.4%22%2F%3E%3Cg%20transform%3D%22translate%2819%2019%29%20rotate%2845%29%20scale%281.1%29%22%3E%3Cpath%20d%3D%22M0%200C2-2.4%206-2.4%208.4%200%206%202.4%202%202.4%200%200z%22%20fill%3D%22url%28%23lg%29%22%2F%3E%3Cpath%20d%3D%22M.5%200H7.6%22%20stroke%3D%22%23153a14%22%20stroke-opacity%3D%22.6%22%20stroke-width%3D%22.35%22%2F%3E%3C%2Fg%3E%3Cg%20transform%3D%22translate%2821%209%29%20rotate%28-15%29%20scale%280.9%29%22%3E%3Cpath%20d%3D%22M0%200C2-2.4%206-2.4%208.4%200%206%202.4%202%202.4%200%200z%22%20fill%3D%22url%28%23lg%29%22%2F%3E%3Cpath%20d%3D%22M.5%200H7.6%22%20stroke%3D%22%23153a14%22%20stroke-opacity%3D%22.6%22%20stroke-width%3D%22.35%22%2F%3E%3C%2Fg%3E%3Cg%20transform%3D%22translate%289%2021%29%20rotate%28105%29%20scale%280.9%29%22%3E%3Cpath%20d%3D%22M0%200C2-2.4%206-2.4%208.4%200%206%202.4%202%202.4%200%200z%22%20fill%3D%22url%28%23lg%29%22%2F%3E%3Cpath%20d%3D%22M.5%200H7.6%22%20stroke%3D%22%23153a14%22%20stroke-opacity%3D%22.6%22%20stroke-width%3D%22.35%22%2F%3E%3C%2Fg%3E%3Cg%20transform%3D%22translate%2813%2013%29%20scale%281.35%29%22%3E%3Ccircle%20r%3D%226.2%22%20fill%3D%22url%28%23rg%29%22%2F%3E%3Cpath%20d%3D%22M-6%202C-4%206.5%203%207%206%203%22%20fill%3D%22none%22%20stroke%3D%22%233a000c%22%20stroke-opacity%3D%22.45%22%20stroke-width%3D%22.7%22%2F%3E%3Cpath%20d%3D%22M-5%201C-5-4%200-6.2%203-5.2%206-4%206%200%204%202.2%22%20fill%3D%22none%22%20stroke%3D%22%233a000c%22%20stroke-opacity%3D%22.5%22%20stroke-width%3D%22.7%22%2F%3E%3Cpath%20d%3D%22M-3%20.3C-3-3%201-4%202.3-2%203.3%200%201.3%202.3-1%201.3%22%20fill%3D%22none%22%20stroke%3D%22%233a000c%22%20stroke-opacity%3D%22.55%22%20stroke-width%3D%22.6%22%2F%3E%3Cpath%20d%3D%22M-1-.4c0-1.1%201.6-1.6%202.1-.5%22%20fill%3D%22none%22%20stroke%3D%22%233a000c%22%20stroke-opacity%3D%22.6%22%20stroke-width%3D%22.5%22%2F%3E%3Cellipse%20cx%3D%22-2.2%22%20cy%3D%22-3.2%22%20rx%3D%222.4%22%20ry%3D%221.2%22%20fill%3D%22%23ffd0d6%22%20fill-opacity%3D%22.22%22%2F%3E%3C%2Fg%3E%3C%2Fg%3E%3Cg%20transform%3D%22matrix%28-1%200%200%20-1%2096%2096%29%22%3E%3Cpath%20d%3D%22M17%2013C22%2012%2027%2012%2032%2012%22%20fill%3D%22none%22%20stroke%3D%22%231f4a1c%22%20stroke-width%3D%221.7%22%2F%3E%3Cpath%20d%3D%22M13%2017C12%2022%2012%2027%2012%2032%22%20fill%3D%22none%22%20stroke%3D%22%231f4a1c%22%20stroke-width%3D%221.7%22%2F%3E%3Cpath%20d%3D%22M15%2016C22%2017%2027%2010%2032%2012%22%20fill%3D%22none%22%20stroke%3D%22%231f4a1c%22%20stroke-width%3D%221.4%22%2F%3E%3Cpath%20d%3D%22M16%2015C17%2022%2010%2027%2012%2032%22%20fill%3D%22none%22%20stroke%3D%22%231f4a1c%22%20stroke-width%3D%221.4%22%2F%3E%3Cg%20transform%3D%22translate%2819%2019%29%20rotate%2845%29%20scale%281.1%29%22%3E%3Cpath%20d%3D%22M0%200C2-2.4%206-2.4%208.4%200%206%202.4%202%202.4%200%200z%22%20fill%3D%22url%28%23lg%29%22%2F%3E%3Cpath%20d%3D%22M.5%200H7.6%22%20stroke%3D%22%23153a14%22%20stroke-opacity%3D%22.6%22%20stroke-width%3D%22.35%22%2F%3E%3C%2Fg%3E%3Cg%20transform%3D%22translate%2821%209%29%20rotate%28-15%29%20scale%280.9%29%22%3E%3Cpath%20d%3D%22M0%200C2-2.4%206-2.4%208.4%200%206%202.4%202%202.4%200%200z%22%20fill%3D%22url%28%23lg%29%22%2F%3E%3Cpath%20d%3D%22M.5%200H7.6%22%20stroke%3D%22%23153a14%22%20stroke-opacity%3D%22.6%22%20stroke-width%3D%22.35%22%2F%3E%3C%2Fg%3E%3Cg%20transform%3D%22translate%289%2021%29%20rotate%28105%29%20scale%280.9%29%22%3E%3Cpath%20d%3D%22M0%200C2-2.4%206-2.4%208.4%200%206%202.4%202%202.4%200%200z%22%20fill%3D%22url%28%23lg%29%22%2F%3E%3Cpath%20d%3D%22M.5%200H7.6%22%20stroke%3D%22%23153a14%22%20stroke-opacity%3D%22.6%22%20stroke-width%3D%22.35%22%2F%3E%3C%2Fg%3E%3Cg%20transform%3D%22translate%2813%2013%29%20scale%281.35%29%22%3E%3Ccircle%20r%3D%226.2%22%20fill%3D%22url%28%23rg%29%22%2F%3E%3Cpath%20d%3D%22M-6%202C-4%206.5%203%207%206%203%22%20fill%3D%22none%22%20stroke%3D%22%233a000c%22%20stroke-opacity%3D%22.45%22%20stroke-width%3D%22.7%22%2F%3E%3Cpath%20d%3D%22M-5%201C-5-4%200-6.2%203-5.2%206-4%206%200%204%202.2%22%20fill%3D%22none%22%20stroke%3D%22%233a000c%22%20stroke-opacity%3D%22.5%22%20stroke-width%3D%22.7%22%2F%3E%3Cpath%20d%3D%22M-3%20.3C-3-3%201-4%202.3-2%203.3%200%201.3%202.3-1%201.3%22%20fill%3D%22none%22%20stroke%3D%22%233a000c%22%20stroke-opacity%3D%22.55%22%20stroke-width%3D%22.6%22%2F%3E%3Cpath%20d%3D%22M-1-.4c0-1.1%201.6-1.6%202.1-.5%22%20fill%3D%22none%22%20stroke%3D%22%233a000c%22%20stroke-opacity%3D%22.6%22%20stroke-width%3D%22.5%22%2F%3E%3Cellipse%20cx%3D%22-2.2%22%20cy%3D%22-3.2%22%20rx%3D%222.4%22%20ry%3D%221.2%22%20fill%3D%22%23ffd0d6%22%20fill-opacity%3D%22.22%22%2F%3E%3C%2Fg%3E%3C%2Fg%3E%3C%2Fsvg%3E") 32 round; filter:drop-shadow(0 .6cqmin .8cqmin rgba(0,0,0,.65));}
.avf-valentine .avf-o{box-shadow:inset 0 0 10cqmin rgba(60,0,10,.45);}
.avf-valentine .avp{top:-4cqmin; left:var(--x,30%); width:3.6cqmin; height:4.4cqmin; border-radius:65% 35% 60% 40% / 70% 70% 30% 30%; opacity:0;
  background:radial-gradient(circle at 35% 30%,#ff7384,#c9142e 55%,#720517); box-shadow:inset -.4cqmin -.5cqmin .8cqmin rgba(40,0,5,.5);
  animation:avf-rosepetal var(--d,15s) linear infinite; animation-delay:var(--t,0s);}
.avf-valentine .avp:nth-of-type(1){--x:28%; --t:0s;} .avf-valentine .avp:nth-of-type(2){--x:62%; --t:-5s; --d:16.5s;} .avf-valentine .avp:nth-of-type(3){--x:45%; --t:-10.5s; --d:14s;}
@keyframes avf-rosepetal{0%{transform:translate(0,0) rotate(0) rotateX(0); opacity:0;} 6%{opacity:.95;}
  20%{transform:translate(5cqmin,22cqmin) rotate(70deg) rotateX(120deg);} 40%{transform:translate(-3cqmin,44cqmin) rotate(150deg) rotateX(240deg);}
  60%{transform:translate(6cqmin,66cqmin) rotate(220deg) rotateX(360deg);} 80%{transform:translate(-2cqmin,88cqmin) rotate(290deg) rotateX(480deg); opacity:.9;}
  92%,100%{transform:translate(3cqmin,104cqmin) rotate(330deg) rotateX(540deg); opacity:0;}}

/* Mardi Gras: a masquerade - black and gold, a gilded mask with a plume, strings of beads and a drift of gold glitter */
.avf-mardigras{--rw:4.4cqmin;}
.avf-mardigras .avf-f::before{background:radial-gradient(circle,#e0b441 0 .45cqmin,transparent .65cqmin) 0 0/2.2cqmin 2.2cqmin round,linear-gradient(135deg,#1a0d24,#050505 50%,#1a0d24);
  box-shadow:inset 0 0 0 max(1px,.6cqmin) #e0b441, inset 0 0 0 max(2px,1.2cqmin) #050505;}
.avf-mardigras .avf-f{box-shadow:inset 0 0 0 max(1px,5cqmin) #e0b441, inset 0 0 8cqmin 5cqmin rgba(70,15,110,.35);}
.avf-mardigras .avp:nth-of-type(1){left:-6cqmin; top:-5cqmin; width:38cqmin; height:20cqmin; transform:rotate(-12deg);
  background:linear-gradient(115deg,transparent 40%,rgba(255,250,225,.7) 50%,transparent 60%) 0 0/300% 300%,linear-gradient(160deg,#fff1b8,#d9a520 30%,#6b4a00 55%,#e0b441 75%,#8a6112);
  -webkit-mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2064%2034%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20d%3D%22M3%2011c7-5%2017-6%2029-2%2012-4%2022-3%2029%202-1%2010-6%2017-14%2017-6%200-11-4-15-7-4%203-9%207-15%207C9%2028%204%2021%203%2011zm10%204c2-3%208-4%2012-1-2%204-8%205-12%201zm26-1c4-3%2010-2%2012%201-4%204-10%203-12-1z%22%2F%3E%3C%2Fsvg%3E") no-repeat center/contain; mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2064%2034%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20d%3D%22M3%2011c7-5%2017-6%2029-2%2012-4%2022-3%2029%202-1%2010-6%2017-14%2017-6%200-11-4-15-7-4%203-9%207-15%207C9%2028%204%2021%203%2011zm10%204c2-3%208-4%2012-1-2%204-8%205-12%201zm26-1c4-3%2010-2%2012%201-4%204-10%203-12-1z%22%2F%3E%3C%2Fsvg%3E") no-repeat center/contain; filter:drop-shadow(0 .8cqmin .8cqmin rgba(0,0,0,.75)); animation:avf-mask-shine 5s ease-in-out infinite;}
.avf-mardigras .avp:nth-of-type(2){left:20cqmin; top:-10cqmin; width:12cqmin; height:15cqmin; transform:rotate(8deg); background:linear-gradient(200deg,#d9a6ff,#6b21a8 45%,#1f6b3a 100%);
  -webkit-mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2032%2040%22%3E%3Cpath%20d%3D%22M3%2039C6%2026%2013%2012%2030%201%2026%2012%2021%2023%2012%2030%2017%2029%2021%2027%2024%2025%2020%2031%2012%2036%203%2039z%22%2F%3E%3C%2Fsvg%3E") no-repeat center/contain; mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2032%2040%22%3E%3Cpath%20d%3D%22M3%2039C6%2026%2013%2012%2030%201%2026%2012%2021%2023%2012%2030%2017%2029%2021%2027%2024%2025%2020%2031%2012%2036%203%2039z%22%2F%3E%3C%2Fsvg%3E") no-repeat center/contain; transform-origin:0 100%; animation:avf-plume 4s ease-in-out infinite;}
.avf-mardigras .avp:nth-of-type(3){right:-14cqmin; bottom:8cqmin; width:62cqmin; height:28cqmin; background:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20100%2046%22%3E%3Cdefs%3E%3CradialGradient%20id%3D%22p%22%20cx%3D%22.35%22%20cy%3D%22.3%22%20r%3D%22.75%22%3E%3Cstop%20offset%3D%220%22%20stop-color%3D%22%23e9c6ff%22%2F%3E%3Cstop%20offset%3D%22.35%22%20stop-color%3D%22%238e3fd1%22%2F%3E%3Cstop%20offset%3D%221%22%20stop-color%3D%22%232a0a47%22%2F%3E%3C%2FradialGradient%3E%3CradialGradient%20id%3D%22g%22%20cx%3D%22.35%22%20cy%3D%22.3%22%20r%3D%22.75%22%3E%3Cstop%20offset%3D%220%22%20stop-color%3D%22%23c9ffd8%22%2F%3E%3Cstop%20offset%3D%22.35%22%20stop-color%3D%22%231f9c46%22%2F%3E%3Cstop%20offset%3D%221%22%20stop-color%3D%22%23062d12%22%2F%3E%3C%2FradialGradient%3E%3CradialGradient%20id%3D%22y%22%20cx%3D%22.35%22%20cy%3D%22.3%22%20r%3D%22.75%22%3E%3Cstop%20offset%3D%220%22%20stop-color%3D%22%23fff6cc%22%2F%3E%3Cstop%20offset%3D%22.35%22%20stop-color%3D%22%23e0b441%22%2F%3E%3Cstop%20offset%3D%221%22%20stop-color%3D%22%235e3d08%22%2F%3E%3C%2FradialGradient%3E%3C%2Fdefs%3E%3Cpath%20d%3D%22M4%206Q50%2074%2096%206%22%20fill%3D%22none%22%20stroke%3D%22%23caa24a%22%20stroke-opacity%3D%22.5%22%20stroke-width%3D%22.5%22%2F%3E%3Ccircle%20cx%3D%224.0%22%20cy%3D%226.0%22%20r%3D%223%22%20fill%3D%22url%28%23p%29%22%2F%3E%3Ccircle%20cx%3D%229.1%22%20cy%3D%2213.1%22%20r%3D%223%22%20fill%3D%22url%28%23g%29%22%2F%3E%3Ccircle%20cx%3D%2214.2%22%20cy%3D%2219.4%22%20r%3D%223%22%20fill%3D%22url%28%23y%29%22%2F%3E%3Ccircle%20cx%3D%2219.3%22%20cy%3D%2224.9%22%20r%3D%223%22%20fill%3D%22url%28%23p%29%22%2F%3E%3Ccircle%20cx%3D%2224.4%22%20cy%3D%2229.5%22%20r%3D%223%22%20fill%3D%22url%28%23g%29%22%2F%3E%3Ccircle%20cx%3D%2229.6%22%20cy%3D%2233.3%22%20r%3D%223%22%20fill%3D%22url%28%23y%29%22%2F%3E%3Ccircle%20cx%3D%2234.7%22%20cy%3D%2236.2%22%20r%3D%223%22%20fill%3D%22url%28%23p%29%22%2F%3E%3Ccircle%20cx%3D%2239.8%22%20cy%3D%2238.3%22%20r%3D%223%22%20fill%3D%22url%28%23g%29%22%2F%3E%3Ccircle%20cx%3D%2244.9%22%20cy%3D%2239.6%22%20r%3D%223%22%20fill%3D%22url%28%23y%29%22%2F%3E%3Ccircle%20cx%3D%2250.0%22%20cy%3D%2240.0%22%20r%3D%223%22%20fill%3D%22url%28%23p%29%22%2F%3E%3Ccircle%20cx%3D%2255.1%22%20cy%3D%2239.6%22%20r%3D%223%22%20fill%3D%22url%28%23g%29%22%2F%3E%3Ccircle%20cx%3D%2260.2%22%20cy%3D%2238.3%22%20r%3D%223%22%20fill%3D%22url%28%23y%29%22%2F%3E%3Ccircle%20cx%3D%2265.3%22%20cy%3D%2236.2%22%20r%3D%223%22%20fill%3D%22url%28%23p%29%22%2F%3E%3Ccircle%20cx%3D%2270.4%22%20cy%3D%2233.3%22%20r%3D%223%22%20fill%3D%22url%28%23g%29%22%2F%3E%3Ccircle%20cx%3D%2275.6%22%20cy%3D%2229.5%22%20r%3D%223%22%20fill%3D%22url%28%23y%29%22%2F%3E%3Ccircle%20cx%3D%2280.7%22%20cy%3D%2224.9%22%20r%3D%223%22%20fill%3D%22url%28%23p%29%22%2F%3E%3Ccircle%20cx%3D%2285.8%22%20cy%3D%2219.4%22%20r%3D%223%22%20fill%3D%22url%28%23g%29%22%2F%3E%3Ccircle%20cx%3D%2290.9%22%20cy%3D%2213.1%22%20r%3D%223%22%20fill%3D%22url%28%23y%29%22%2F%3E%3Ccircle%20cx%3D%2296.0%22%20cy%3D%226.0%22%20r%3D%223%22%20fill%3D%22url%28%23p%29%22%2F%3E%3C%2Fsvg%3E") no-repeat center/contain; transform:rotate(-45deg); filter:drop-shadow(0 .6cqmin .6cqmin rgba(0,0,0,.7));}
.avf-mardigras .avp:nth-of-type(4){left:-4cqmin; bottom:-6cqmin; width:44cqmin; height:20cqmin; background:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20100%2046%22%3E%3Cdefs%3E%3CradialGradient%20id%3D%22p%22%20cx%3D%22.35%22%20cy%3D%22.3%22%20r%3D%22.75%22%3E%3Cstop%20offset%3D%220%22%20stop-color%3D%22%23e9c6ff%22%2F%3E%3Cstop%20offset%3D%22.35%22%20stop-color%3D%22%238e3fd1%22%2F%3E%3Cstop%20offset%3D%221%22%20stop-color%3D%22%232a0a47%22%2F%3E%3C%2FradialGradient%3E%3CradialGradient%20id%3D%22g%22%20cx%3D%22.35%22%20cy%3D%22.3%22%20r%3D%22.75%22%3E%3Cstop%20offset%3D%220%22%20stop-color%3D%22%23c9ffd8%22%2F%3E%3Cstop%20offset%3D%22.35%22%20stop-color%3D%22%231f9c46%22%2F%3E%3Cstop%20offset%3D%221%22%20stop-color%3D%22%23062d12%22%2F%3E%3C%2FradialGradient%3E%3CradialGradient%20id%3D%22y%22%20cx%3D%22.35%22%20cy%3D%22.3%22%20r%3D%22.75%22%3E%3Cstop%20offset%3D%220%22%20stop-color%3D%22%23fff6cc%22%2F%3E%3Cstop%20offset%3D%22.35%22%20stop-color%3D%22%23e0b441%22%2F%3E%3Cstop%20offset%3D%221%22%20stop-color%3D%22%235e3d08%22%2F%3E%3C%2FradialGradient%3E%3C%2Fdefs%3E%3Cpath%20d%3D%22M4%206Q50%2074%2096%206%22%20fill%3D%22none%22%20stroke%3D%22%23caa24a%22%20stroke-opacity%3D%22.5%22%20stroke-width%3D%22.5%22%2F%3E%3Ccircle%20cx%3D%224.0%22%20cy%3D%226.0%22%20r%3D%223%22%20fill%3D%22url%28%23p%29%22%2F%3E%3Ccircle%20cx%3D%229.1%22%20cy%3D%2213.1%22%20r%3D%223%22%20fill%3D%22url%28%23g%29%22%2F%3E%3Ccircle%20cx%3D%2214.2%22%20cy%3D%2219.4%22%20r%3D%223%22%20fill%3D%22url%28%23y%29%22%2F%3E%3Ccircle%20cx%3D%2219.3%22%20cy%3D%2224.9%22%20r%3D%223%22%20fill%3D%22url%28%23p%29%22%2F%3E%3Ccircle%20cx%3D%2224.4%22%20cy%3D%2229.5%22%20r%3D%223%22%20fill%3D%22url%28%23g%29%22%2F%3E%3Ccircle%20cx%3D%2229.6%22%20cy%3D%2233.3%22%20r%3D%223%22%20fill%3D%22url%28%23y%29%22%2F%3E%3Ccircle%20cx%3D%2234.7%22%20cy%3D%2236.2%22%20r%3D%223%22%20fill%3D%22url%28%23p%29%22%2F%3E%3Ccircle%20cx%3D%2239.8%22%20cy%3D%2238.3%22%20r%3D%223%22%20fill%3D%22url%28%23g%29%22%2F%3E%3Ccircle%20cx%3D%2244.9%22%20cy%3D%2239.6%22%20r%3D%223%22%20fill%3D%22url%28%23y%29%22%2F%3E%3Ccircle%20cx%3D%2250.0%22%20cy%3D%2240.0%22%20r%3D%223%22%20fill%3D%22url%28%23p%29%22%2F%3E%3Ccircle%20cx%3D%2255.1%22%20cy%3D%2239.6%22%20r%3D%223%22%20fill%3D%22url%28%23g%29%22%2F%3E%3Ccircle%20cx%3D%2260.2%22%20cy%3D%2238.3%22%20r%3D%223%22%20fill%3D%22url%28%23y%29%22%2F%3E%3Ccircle%20cx%3D%2265.3%22%20cy%3D%2236.2%22%20r%3D%223%22%20fill%3D%22url%28%23p%29%22%2F%3E%3Ccircle%20cx%3D%2270.4%22%20cy%3D%2233.3%22%20r%3D%223%22%20fill%3D%22url%28%23g%29%22%2F%3E%3Ccircle%20cx%3D%2275.6%22%20cy%3D%2229.5%22%20r%3D%223%22%20fill%3D%22url%28%23y%29%22%2F%3E%3Ccircle%20cx%3D%2280.7%22%20cy%3D%2224.9%22%20r%3D%223%22%20fill%3D%22url%28%23p%29%22%2F%3E%3Ccircle%20cx%3D%2285.8%22%20cy%3D%2219.4%22%20r%3D%223%22%20fill%3D%22url%28%23g%29%22%2F%3E%3Ccircle%20cx%3D%2290.9%22%20cy%3D%2213.1%22%20r%3D%223%22%20fill%3D%22url%28%23y%29%22%2F%3E%3Ccircle%20cx%3D%2296.0%22%20cy%3D%226.0%22%20r%3D%223%22%20fill%3D%22url%28%23p%29%22%2F%3E%3C%2Fsvg%3E") no-repeat center/contain; transform:rotate(12deg); filter:drop-shadow(0 .6cqmin .6cqmin rgba(0,0,0,.7));}
.avf-mardigras .avp:nth-of-type(n+5){top:-2cqmin; left:calc(var(--i) * 22% - 70%); width:1.2cqmin; height:1.2cqmin; border-radius:50%; background:#ffe38a; box-shadow:0 0 1cqmin #ffd23a;
  animation:avf-glitter-fall var(--d,7s) linear infinite; animation-delay:calc(var(--i) * -1.8s);}
.avf-mardigras .avp:nth-of-type(odd):nth-of-type(n+5){--d:8.5s; background:#d9a6ff; box-shadow:0 0 1cqmin #b066ff;}
@keyframes avf-mask-shine{0%{background-position:100% 100%,0 0;} 60%,100%{background-position:0 0,0 0;}}
@keyframes avf-plume{50%{transform:rotate(14deg);}}
@keyframes avf-glitter-fall{0%{transform:translate(0,0); opacity:0;} 10%{opacity:1;} 50%{transform:translate(3cqmin,50cqmin); opacity:.8;} 90%{opacity:.6;} 100%{transform:translate(-2cqmin,100cqmin); opacity:0;}}

/* St. Patrick's Day: an emerald frame with gold lines and a shine running round it, gold shamrocks in the corners and gold glints */
.avf-stpatricks{--rw:5cqmin;}
.avf-stpatricks .avf-f::before{background:repeating-linear-gradient(45deg,rgba(255,255,255,.05) 0 .5cqmin,transparent .5cqmin 1.5cqmin),linear-gradient(135deg,#052e15,#0f7a3a 35%,#063d1c 60%,#12884a 85%,#052e15);
  box-shadow:inset 0 0 0 max(1px,.6cqmin) #e0b441;}
.avf-stpatricks .avf-f::after{background:linear-gradient(115deg,transparent 42%,rgba(255,250,210,.55) 50%,transparent 58%) 0 0/300% 300%; animation:avf-shine 5s ease-in-out infinite;}
.avf-stpatricks .avf-f{box-shadow:inset 0 0 0 max(1px,5.6cqmin) #e0b441, inset 0 0 0 max(2px,6.1cqmin) #052e15, inset 0 0 6cqmin 6cqmin rgba(0,0,0,.3);}
.avf-stpatricks .avp:nth-of-type(-n+4){width:12cqmin; height:12cqmin; background:linear-gradient(115deg,transparent 40%,rgba(255,255,235,.85) 50%,transparent 60%) 0 0/300% 300%,linear-gradient(150deg,#fff1b8,#e0b441 35%,#8a6112 70%,#f2d27a);
  -webkit-mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2040%2040%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M20%2022c3%206%204%2011%203%2016%22%20stroke%3D%22%230b4a1f%22%20stroke-width%3D%222.6%22%20fill%3D%22none%22%20stroke-linecap%3D%22round%22%2F%3E%3Cg%20fill%3D%22%232fbf5b%22%20stroke%3D%22%230b4a1f%22%20stroke-width%3D%221.3%22%3E%3Cpath%20d%3D%22M20%2020C14%2018%208%2016%208%2010c0-4%205-6%208-3%200-4%205-6%208-3%202%203%201%209-4%2016z%22%2F%3E%3Cpath%20d%3D%22M20%2020c-2%206-4%2012-10%2013-4%200-6-4-3-7-4-1-5-6-2-8%203-2%209-1%2015%202z%22%20transform%3D%22rotate%288%2020%2020%29%22%2F%3E%3Cpath%20d%3D%22M20%2020c6-3%2012-4%2015-2%203%202%202%207-2%208%203%203%201%207-3%207-6-1-8-7-10-13z%22%20transform%3D%22rotate%28-8%2020%2020%29%22%2F%3E%3C%2Fg%3E%3Cpath%20d%3D%22M13%2010c1-2%203-3%205-2%22%20stroke%3D%22%23bff5c9%22%20stroke-width%3D%221.2%22%20fill%3D%22none%22%20stroke-linecap%3D%22round%22%2F%3E%3C%2Fsvg%3E") no-repeat center/contain; mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2040%2040%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M20%2022c3%206%204%2011%203%2016%22%20stroke%3D%22%230b4a1f%22%20stroke-width%3D%222.6%22%20fill%3D%22none%22%20stroke-linecap%3D%22round%22%2F%3E%3Cg%20fill%3D%22%232fbf5b%22%20stroke%3D%22%230b4a1f%22%20stroke-width%3D%221.3%22%3E%3Cpath%20d%3D%22M20%2020C14%2018%208%2016%208%2010c0-4%205-6%208-3%200-4%205-6%208-3%202%203%201%209-4%2016z%22%2F%3E%3Cpath%20d%3D%22M20%2020c-2%206-4%2012-10%2013-4%200-6-4-3-7-4-1-5-6-2-8%203-2%209-1%2015%202z%22%20transform%3D%22rotate%288%2020%2020%29%22%2F%3E%3Cpath%20d%3D%22M20%2020c6-3%2012-4%2015-2%203%202%202%207-2%208%203%203%201%207-3%207-6-1-8-7-10-13z%22%20transform%3D%22rotate%28-8%2020%2020%29%22%2F%3E%3C%2Fg%3E%3Cpath%20d%3D%22M13%2010c1-2%203-3%205-2%22%20stroke%3D%22%23bff5c9%22%20stroke-width%3D%221.2%22%20fill%3D%22none%22%20stroke-linecap%3D%22round%22%2F%3E%3C%2Fsvg%3E") no-repeat center/contain; filter:drop-shadow(0 .5cqmin .6cqmin rgba(0,0,0,.8)); animation:avf-mask-shine 4.5s ease-in-out infinite; animation-delay:calc(var(--i) * .4s);}
.avf-stpatricks .avp:nth-of-type(1){left:-3.5cqmin; top:-3.5cqmin; transform:rotate(-30deg);} .avf-stpatricks .avp:nth-of-type(2){right:-3.5cqmin; top:-3.5cqmin; transform:rotate(30deg);}
.avf-stpatricks .avp:nth-of-type(3){left:-3.5cqmin; bottom:-3.5cqmin; transform:rotate(-150deg);} .avf-stpatricks .avp:nth-of-type(4){right:-3.5cqmin; bottom:-3.5cqmin; transform:rotate(150deg);}
.avf-stpatricks .avp:nth-of-type(n+5){width:5cqmin; height:5cqmin; background:#fff; clip-path:polygon(50% 0,58% 42%,100% 50%,58% 58%,50% 100%,42% 58%,0 50%,42% 42%);
  filter:drop-shadow(0 0 1cqmin #ffe38a); animation:avf-twinkle 3s ease-in-out infinite; animation-delay:calc(var(--i) * -1s);}
.avf-stpatricks .avp:nth-of-type(5){left:45%; top:.4cqmin;} .avf-stpatricks .avp:nth-of-type(6){right:.4cqmin; top:55%;} .avf-stpatricks .avp:nth-of-type(7){left:25%; bottom:.4cqmin;}

/* Easter: the Faberge heist - a lavender enamel frame with gold lines and a shine, a jeweled egg with a gold lattice, and jewels */
.avf-easter{--rw:5cqmin;}
.avf-easter .avf-f::before{background:repeating-linear-gradient(45deg,rgba(255,255,255,.14) 0 .3cqmin,transparent .3cqmin 1.2cqmin),repeating-linear-gradient(-45deg,rgba(255,255,255,.1) 0 .3cqmin,transparent .3cqmin 1.2cqmin),
  linear-gradient(135deg,#b894e0,#6a3aa6 45%,#9a72cc 70%,#4b2380); box-shadow:inset 0 0 0 max(1px,.6cqmin) #e0b441;}
.avf-easter .avf-f::after{background:linear-gradient(115deg,transparent 42%,rgba(255,250,235,.5) 50%,transparent 58%) 0 0/300% 300%; animation:avf-shine 5.5s ease-in-out infinite;}
.avf-easter .avf-f{box-shadow:inset 0 0 0 max(1px,5.6cqmin) #e0b441, inset 0 0 0 max(2px,6.1cqmin) #2e1250, inset 0 0 6cqmin 6cqmin rgba(0,0,0,.3);}
.avf-easter .avp:nth-of-type(1){right:-2cqmin; bottom:-2cqmin; width:19cqmin; height:25cqmin; border-radius:50% 50% 50% 50% / 60% 60% 40% 40%; overflow:hidden;
  background:repeating-linear-gradient(45deg,transparent 0 3.1cqmin,rgba(242,200,72,.95) 3.1cqmin 3.5cqmin),repeating-linear-gradient(-45deg,transparent 0 3.1cqmin,rgba(242,200,72,.95) 3.1cqmin 3.5cqmin),
    radial-gradient(circle at 35% 28%,#f4e6ff 0 7%,#b384e6 32%,#6b35a8 66%,#2a0f4a);
  box-shadow:inset -2cqmin -2.5cqmin 4cqmin rgba(0,0,0,.5), inset 1.2cqmin 1.2cqmin 2.4cqmin rgba(255,255,255,.25), 0 0 0 max(1px,.4cqmin) #b8860b, 0 1cqmin 2cqmin rgba(0,0,0,.65);}
.avf-easter .avp:nth-of-type(1)::before{left:0; right:0; top:50%; height:2cqmin; background:linear-gradient(#fff1b8,#d9a520 50%,#7a5200); box-shadow:0 0 .6cqmin rgba(0,0,0,.6);}
.avf-easter .avp:nth-of-type(1)::after{left:50%; top:51%; width:4cqmin; height:4cqmin; margin:-2cqmin; border-radius:50%; background:radial-gradient(circle at 35% 30%,#ffb3c6,#c2185b 50%,#4a0020 90%);
  box-shadow:0 0 0 max(1px,.5cqmin) #e0b441, 0 0 1.4cqmin rgba(255,120,160,.7);}
.avf-easter .avp:nth-of-type(n+2):nth-of-type(-n+3){width:6cqmin; height:6cqmin; background:#fff; clip-path:polygon(50% 0,58% 42%,100% 50%,58% 58%,50% 100%,42% 58%,0 50%,42% 42%);
  filter:drop-shadow(0 0 1cqmin #e9d4ff); animation:avf-twinkle 2.8s ease-in-out infinite; animation-delay:calc(var(--i) * -1.3s);}
.avf-easter .avp:nth-of-type(2){right:11cqmin; bottom:17cqmin;} .avf-easter .avp:nth-of-type(3){right:2cqmin; bottom:6cqmin;}
.avf-easter .avp:nth-of-type(n+4){top:-1.2cqmin; width:6.5cqmin; height:6.5cqmin; border-radius:50%; background:radial-gradient(circle at 35% 30%,#ffb3c6,#c2185b 50%,#4a0020 88%);
  border:max(1px,.9cqmin) solid #d9a520; box-shadow:0 0 0 max(1px,.3cqmin) #5e3d08, 0 .6cqmin 1cqmin rgba(0,0,0,.6);}
.avf-easter .avp:nth-of-type(4){left:-1.2cqmin;} .avf-easter .avp:nth-of-type(5){right:-1.2cqmin; background:radial-gradient(circle at 35% 30%,#b3e6ff,#1f6fc2 50%,#082450 88%);}

/* Fourth of July: a navy frame with stars and a red and white inner line, and red, white and blue fireworks */
.avf-july4{--rw:4.4cqmin;}
.avf-july4 .avf-f::before{background:radial-gradient(circle,#fff 0 .5cqmin,transparent .7cqmin) 0 0/4.4cqmin 4.4cqmin round,linear-gradient(135deg,#2c2b62,#15143a 50%,#2c2b62); box-shadow:inset 0 0 0 max(1px,.5cqmin) #c9ced3;}
.avf-july4 .avf-f{box-shadow:inset 0 0 0 max(1px,5cqmin) #b22234, inset 0 0 0 max(2px,5.6cqmin) #f4f1e8, inset 0 0 0 max(3px,6.1cqmin) #b22234, inset 0 0 10cqmin 6cqmin rgba(0,0,0,.35);}
.avf-july4 .avp:nth-of-type(1){--c:#ff4a5a; --x:30%; --y:30%; --t:0s;} .avf-july4 .avp:nth-of-type(2){--c:#ffffff; --x:70%; --y:26%; --t:-1.3s; --s:38cqmin; --d:4.1s;} .avf-july4 .avp:nth-of-type(3){--c:#5aa8ff; --x:56%; --y:56%; --t:-2.6s; --s:34cqmin;}

/* Halloween: a charred frame lit by flickering candlelight, fog creeping along the bottom, two faint ghosts drifting by and a cobweb */
.avf-halloween{--rw:3.4cqmin;}
.avf-halloween .avf-f::before{background:repeating-linear-gradient(80deg,rgba(0,0,0,.3) 0 .5cqmin,transparent .5cqmin 1.6cqmin),linear-gradient(135deg,#1e1712,#3a2a1c 40%,#140f0b 70%,#2c2016); box-shadow:inset 0 0 0 max(1px,.5cqmin) #c25a10;}
.avf-halloween .avf-f{box-shadow:inset 0 0 12cqmin rgba(255,120,20,.3), inset 0 0 4cqmin rgba(0,0,0,.6); animation:avf-candle 2.6s steps(1) infinite;}
.avf-halloween .avf-o{overflow:hidden;}
.avf-halloween .avp:nth-of-type(1){left:0; top:0; width:32cqmin; height:32cqmin; background:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2040%2040%22%20fill%3D%22none%22%20stroke%3D%22%23fff%22%20stroke-opacity%3D%22.85%22%20stroke-width%3D%22.8%22%3E%3Cpath%20d%3D%22M0%200L42.0%200.0%22%2F%3E%3Cpath%20d%3D%22M0%200L38.9%2015.7%22%2F%3E%3Cpath%20d%3D%22M0%200L29.7%2029.7%22%2F%3E%3Cpath%20d%3D%22M0%200L15.7%2038.9%22%2F%3E%3Cpath%20d%3D%22M0%200L0.0%2042.0%22%2F%3E%3Cpath%20d%3D%22M9.0%200.0%20Q7.1%201.4%208.3%203.4%20Q6.0%204.0%206.4%206.4%20Q4.0%206.0%203.4%208.3%20Q1.4%207.1%200.0%209.0%22%2F%3E%3Cpath%20d%3D%22M17.0%200.0%20Q13.4%202.6%2015.8%206.4%20Q11.4%207.5%2012.0%2012.0%20Q7.5%2011.4%206.4%2015.8%20Q2.6%2013.4%200.0%2017.0%22%2F%3E%3Cpath%20d%3D%22M26.0%200.0%20Q20.5%204.0%2024.1%209.7%20Q17.4%2011.5%2018.4%2018.4%20Q11.5%2017.4%209.7%2024.1%20Q4.0%2020.5%200.0%2026.0%22%2F%3E%3Cpath%20d%3D%22M35.0%200.0%20Q27.7%205.4%2032.5%2013.1%20Q23.5%2015.5%2024.7%2024.7%20Q15.5%2023.5%2013.1%2032.5%20Q5.4%2027.7%200.0%2035.0%22%2F%3E%3C%2Fsvg%3E") no-repeat 0 0/contain; opacity:.55;}
.avf-halloween .avp:nth-of-type(2),.avf-halloween .avp:nth-of-type(3){top:var(--y,30%); left:-18cqmin; width:14cqmin; height:18cqmin; border-radius:50% 50% 30% 30% / 58% 58% 22% 22%;
  background:radial-gradient(ellipse 60% 55% at 50% 35%,rgba(245,248,255,.95),rgba(205,218,255,.5) 55%,rgba(200,215,255,0) 100%);
  -webkit-mask:linear-gradient(#000 55%,transparent); mask:linear-gradient(#000 55%,transparent); filter:blur(.35cqmin); opacity:0; animation:avf-ghost var(--d,17s) ease-in-out infinite; animation-delay:var(--t,0s);}
.avf-halloween .avp:nth-of-type(2)::before,.avf-halloween .avp:nth-of-type(3)::before{inset:0; background:radial-gradient(ellipse 9% 8% at 36% 36%,rgba(20,20,40,.7),transparent),radial-gradient(ellipse 9% 8% at 64% 36%,rgba(20,20,40,.7),transparent),radial-gradient(ellipse 10% 7% at 50% 52%,rgba(20,20,40,.5),transparent);}
.avf-halloween .avp:nth-of-type(3){--y:48%; --t:-8.5s; --d:19s; width:11cqmin; height:14cqmin;}
.avf-halloween .avp:nth-of-type(4),.avf-halloween .avp:nth-of-type(5){bottom:-8cqmin; left:-30cqmin; width:100cqmin; height:22cqmin; border-radius:50%;
  background:radial-gradient(ellipse at 50% 50%,rgba(190,200,220,.38),rgba(190,200,220,0) 70%); filter:blur(1.5cqmin); animation:avf-fog 11s ease-in-out infinite alternate;}
.avf-halloween .avp:nth-of-type(5){left:10cqmin; bottom:-10cqmin; animation-duration:14s; animation-direction:alternate-reverse;}
@keyframes avf-candle{0%,100%{box-shadow:inset 0 0 12cqmin rgba(255,120,20,.3), inset 0 0 4cqmin rgba(0,0,0,.6);} 33%{box-shadow:inset 0 0 10cqmin rgba(255,100,10,.22), inset 0 0 4cqmin rgba(0,0,0,.6);} 58%{box-shadow:inset 0 0 14cqmin rgba(255,140,40,.36), inset 0 0 4cqmin rgba(0,0,0,.6);}}
@keyframes avf-ghost{0%{transform:translate(0,0); opacity:0;} 12%{opacity:.5;} 30%{transform:translate(38cqmin,-5cqmin);} 50%{transform:translate(64cqmin,3cqmin); opacity:.45;} 70%{transform:translate(92cqmin,-4cqmin); opacity:.4;} 85%,100%{transform:translate(126cqmin,2cqmin); opacity:0;}}
@keyframes avf-fog{0%{transform:translateX(0);} 100%{transform:translateX(24cqmin);}}

/* Thanksgiving: a walnut frame with a gold lip, autumn leaves gathered in two corners, and leaves fluttering down */
.avf-thanksgiving{--rw:5.8cqmin;}
.avf-thanksgiving .avf-f::before{background:repeating-linear-gradient(92deg,rgba(0,0,0,.2) 0 .4cqmin,transparent .4cqmin 1.5cqmin,rgba(255,220,170,.07) 1.5cqmin 1.9cqmin,transparent 1.9cqmin 2.8cqmin),
  linear-gradient(135deg,#2a1708,#6b4424 30%,#3b2412 55%,#7a5230 80%,#2a1708); box-shadow:inset 0 0 0 max(1px,.6cqmin) #1a0d03;}
.avf-thanksgiving .avf-f{box-shadow:inset 0 0 0 max(1px,6.6cqmin) #c79a4b, inset 0 0 0 max(2px,7.1cqmin) #2a1708, inset 0 0 10cqmin 7cqmin rgba(255,150,50,.12);}
.avf-thanksgiving .avp{-webkit-mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2032%2032%22%3E%3Cpath%20d%3D%22M16%201l2.5%206%204-2-1%207%206-3-1.5%205%205%201-5%204%201.5%202-7-1%20.5%204-4-2v10h-2V21l-4%202%20.5-4-7%201%201.5-2-5-4%205-1L4%209l6%203-1-7%204%202z%22%2F%3E%3C%2Fsvg%3E") no-repeat center/contain; mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2032%2032%22%3E%3Cpath%20d%3D%22M16%201l2.5%206%204-2-1%207%206-3-1.5%205%205%201-5%204%201.5%202-7-1%20.5%204-4-2v10h-2V21l-4%202%20.5-4-7%201%201.5-2-5-4%205-1L4%209l6%203-1-7%204%202z%22%2F%3E%3C%2Fsvg%3E") no-repeat center/contain; background:linear-gradient(140deg,var(--a,#f0a030),var(--b,#c0441a) 55%,var(--e,#6a1e08));}
.avf-thanksgiving .avp:nth-of-type(-n+4){width:var(--s,15cqmin); height:var(--s,15cqmin); filter:drop-shadow(0 .5cqmin .6cqmin rgba(0,0,0,.7));}
.avf-thanksgiving .avp:nth-of-type(1){left:-4cqmin; top:-4cqmin; transform:rotate(-30deg);} .avf-thanksgiving .avp:nth-of-type(2){left:6cqmin; top:-3cqmin; --s:11cqmin; transform:rotate(25deg); --a:#f5c542; --b:#d98a1c; --e:#7a4a08;}
.avf-thanksgiving .avp:nth-of-type(3){right:-4cqmin; bottom:-4cqmin; transform:rotate(150deg); --a:#e0622a; --b:#9a1e10; --e:#4a0a04;} .avf-thanksgiving .avp:nth-of-type(4){right:6cqmin; bottom:-3cqmin; --s:11cqmin; transform:rotate(200deg);}
.avf-thanksgiving .avp:nth-of-type(n+5){top:-8cqmin; left:calc(var(--i) * 26% - 100%); width:7cqmin; height:7cqmin; opacity:0; animation:avf-leaf var(--d,9s) linear infinite; animation-delay:calc(var(--i) * -2.3s);}
.avf-thanksgiving .avp:nth-of-type(6){--a:#f5c542; --b:#d98a1c; --e:#7a4a08; --d:10.5s;} .avf-thanksgiving .avp:nth-of-type(7){--a:#e0622a; --b:#9a1e10; --e:#4a0a04; --d:8.5s;} .avf-thanksgiving .avp:nth-of-type(8){--d:11s;}
@keyframes avf-leaf{0%{transform:translate(0,0) rotate(0) rotateY(0); opacity:0;} 8%{opacity:.95;} 25%{transform:translate(7cqmin,26cqmin) rotate(60deg) rotateY(160deg);} 50%{transform:translate(-4cqmin,52cqmin) rotate(140deg) rotateY(320deg);}
  75%{transform:translate(6cqmin,78cqmin) rotate(210deg) rotateY(480deg); opacity:.9;} 92%,100%{transform:translate(0,104cqmin) rotate(260deg) rotateY(600deg); opacity:0;}}

/* Christmas: a pine garland strung with old-fashioned lights that twinkle one by one, and soft snow */
.avf-christmas{--rw:5.4cqmin;}
.avf-christmas .avf-f::before{background:repeating-linear-gradient(60deg,rgba(0,0,0,.35) 0 .45cqmin,transparent .45cqmin 1.1cqmin),repeating-linear-gradient(-60deg,rgba(120,200,120,.18) 0 .4cqmin,transparent .4cqmin 1.2cqmin),
  linear-gradient(135deg,#0b3a1a,#1a5a2c 40%,#0e4220 70%,#1c6030); box-shadow:inset 0 0 1.5cqmin rgba(0,0,0,.6);}
.avf-christmas .avf-f{box-shadow:inset 0 0 0 max(1px,6cqmin) rgba(217,165,32,.8), inset 0 0 10cqmin 6cqmin rgba(255,210,140,.14);}
.avf-christmas .avp:nth-of-type(-n+16){width:2.6cqmin; height:3.4cqmin; margin:-1.7cqmin 0 0 -1.3cqmin; border-radius:50% 50% 45% 45% / 60% 60% 40% 40%;
  background:radial-gradient(circle at 40% 35%,#fff 0 14%,var(--c) 48%,color-mix(in srgb,var(--c) 55%,#000)); box-shadow:0 0 1.6cqmin .5cqmin var(--c);
  animation:avf-bulb var(--d,2.4s) ease-in-out infinite; animation-delay:calc(var(--i) * -.37s);}
.avf-christmas .avp:nth-of-type(5n+1){--c:#ffe2a8;} .avf-christmas .avp:nth-of-type(5n+2){--c:#ff5a4a; --d:2.9s;} .avf-christmas .avp:nth-of-type(5n+3){--c:#4fd88a; --d:2.1s;}
.avf-christmas .avp:nth-of-type(5n+4){--c:#6ab4ff; --d:3.3s;} .avf-christmas .avp:nth-of-type(5n){--c:#ffb347; --d:2.6s;}
.avf-christmas .avp:nth-of-type(1){left:10%; top:2.7cqmin;}
.avf-christmas .avp:nth-of-type(2){left:30%; top:2.7cqmin;}
.avf-christmas .avp:nth-of-type(3){left:50%; top:2.7cqmin;}
.avf-christmas .avp:nth-of-type(4){left:70%; top:2.7cqmin;}
.avf-christmas .avp:nth-of-type(5){left:90%; top:2.7cqmin;}
.avf-christmas .avp:nth-of-type(6){left:calc(100% - 2.7cqmin); top:28%;}
.avf-christmas .avp:nth-of-type(7){left:calc(100% - 2.7cqmin); top:50%;}
.avf-christmas .avp:nth-of-type(8){left:calc(100% - 2.7cqmin); top:72%;}
.avf-christmas .avp:nth-of-type(9){left:90%; top:calc(100% - 2.7cqmin);}
.avf-christmas .avp:nth-of-type(10){left:70%; top:calc(100% - 2.7cqmin);}
.avf-christmas .avp:nth-of-type(11){left:50%; top:calc(100% - 2.7cqmin);}
.avf-christmas .avp:nth-of-type(12){left:30%; top:calc(100% - 2.7cqmin);}
.avf-christmas .avp:nth-of-type(13){left:10%; top:calc(100% - 2.7cqmin);}
.avf-christmas .avp:nth-of-type(14){left:2.7cqmin; top:72%;}
.avf-christmas .avp:nth-of-type(15){left:2.7cqmin; top:50%;}
.avf-christmas .avp:nth-of-type(16){left:2.7cqmin; top:28%;}
.avf-christmas .avp:nth-of-type(n+17){top:-3cqmin; left:calc(var(--i) * 22% - 340%); width:2.2cqmin; height:2.2cqmin; border-radius:50%; background:#fff; box-shadow:0 0 1cqmin #fff; filter:blur(.2cqmin); opacity:0;
  animation:avf-snow var(--d,6s) linear infinite; animation-delay:calc(var(--i) * -1.5s);}
.avf-christmas .avp:nth-of-type(2n+18){--d:7.4s; animation-name:avf-snow-b; width:1.6cqmin; height:1.6cqmin;}
@keyframes avf-bulb{0%,100%{opacity:1; filter:brightness(1.15);} 50%{opacity:.35; box-shadow:0 0 .4cqmin 0 var(--c); filter:brightness(.7);}}

/* the Cosmetics section of Preferences: the frames and name effects a player holds */
.cos-grid{display:grid; grid-template-columns:repeat(auto-fill,minmax(200px,1fr)); gap:10px; margin:6px 0 12px;}
.cos-cell{background:#161616; border:1px solid #2a2a2a; padding:22px 8px 10px; text-align:center; display:flex; flex-direction:column; align-items:center; gap:8px;}
.cos-cell.on{border-color:#5a4a1c; box-shadow:inset 0 0 0 1px rgba(242,194,48,.25);}
.cos-cell .avf-demos{margin-bottom:4px;}
.cos-cell .avf-demo.has-img{background:#111;}
.cos-cell .fx-demo{padding:10px 0 4px;}
.avf-gallery{display:grid; grid-template-columns:repeat(auto-fill,minmax(230px,1fr)); gap:10px; margin:6px 0 10px;}
.avf-cell{background:#161616; border:1px solid #2a2a2a; padding:22px 8px 8px; text-align:center;}
.avf-demos{display:flex; gap:16px; justify-content:center; align-items:flex-end; margin-bottom:10px;}
.avf-demo{display:grid; place-items:center; background:linear-gradient(135deg,#3a3a3a,#1e1e1e); font:800 24px/1 var(--display); color:#fff; overflow:hidden;}
.avf-demo.s1{width:44px; height:44px; font-size:18px;} .avf-demo.s2{width:76px; height:76px; font-size:34px;} .avf-demo.s3{width:110px; height:110px; font-size:52px;}

@media (prefers-reduced-motion: reduce){ .avf-o,.avf-o *,.avf-o *::before,.avf-o *::after{animation:none !important;} }

/* ---------- the Event Log (build ts9) ---------- */
.ev{border-top:1px solid #3a3a3a; padding:4px 6px 6px;}
.ev p{margin:10px 0;}
.ev p:first-child{margin-bottom:16px;}
.ev .btn{margin:0;}
.ev-filters{line-height:1.9;}
.ev-filters .nowrap{margin:0 3px;}
