icecreamsundaes

Lav's Poker Profile Template

Dec 23rd, 2025 (edited)
442
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
CSS 52.00 KB | None | 0 0
  1. <style>
  2. /* ======= ♠️ PAGE SECTION ♣️ ======= */
  3. /* PAGE BACKGROUND */
  4. .profile-page-background { /* adding a blur if the background slider isn’t working for you */
  5.   filter: blur(3px);
  6.   opacity: 1;
  7. }
  8. /* TEXT HIGHLIGHT */
  9. ::selection {
  10.   background: #DE483B80;
  11.   color: #240A0A;
  12. }
  13. .profile-page-flex { /* stacking the profile card on top of the bot cards for pc */
  14.   flex-direction: column;
  15.   align-items: center;
  16. }
  17. .css-0 { /* the root of all evil */
  18.   display: contents;
  19. }
  20. /* TOOLTIPS */
  21. .css-jdhqy4 > div {
  22.   background: #240A0A;
  23.   color: #DE483B;
  24.   border: 2px solid #B72C1F;
  25.   border-radius: 0;
  26.   font-family: Cardo, serif;
  27.   font-size: 1rem;
  28.   max-height: 150px;
  29.   overflow: hidden;
  30.   font-weight: unset;
  31. }
  32. .chakra-tooltip__arrow-wrapper { /* gets rid of the arrow */
  33.   display: none;
  34. }
  35. /* === MISC SECTION === */
  36. .css-9qctsi { /* the "Customize Profile Page" button, puts it to the right side of the profile card */
  37.   z-index: 2;
  38.   right: unset;
  39. }
  40. .css-9qctsi button, .profile-avatar ~ button {
  41.   background: #240A0A;
  42.   border: none;
  43.   margin: auto 5px;
  44. }
  45. .css-9qctsi svg, .cp-profile-card-panel svg, .profile-avatar ~ button svg { /* colors of the different svgs for visibility */
  46.   color: #EEEADE !important;  /* change the color if you cant see the icons with your pfp */
  47. }
  48. .profile-avatar ~ button { /* the pencil icon for changing your profile picture */
  49.   z-index: 2;
  50.   box-shadow: none;
  51. }
  52. .profile-member-since-box ~ button { /* hides the purple "Edit Profile" button so you don’t accidentally delete all your code */
  53.   display: none;
  54. }
  55. /* ======= ♥️ END OF PAGE SECTION ♦️ ======= */
  56.  
  57. /* ======= ♠️ HEADER SECTION ♣️ ======= */
  58.  
  59. /* HEADER */
  60. .profile-top-bar {
  61.   background: #B72C1FE6;
  62.   backdrop-filter: blur(5px);
  63.   box-shadow: none;
  64.   border-bottom: 2px solid #240A0A;
  65. }
  66. /* === JANITOR AI LOGO SECTION === */
  67. .profile-top-bar-logo-box { /* centers logo on header bar */
  68.   position: absolute;
  69.   margin: auto;
  70.   width: fit-content;
  71.   left: 0;
  72.   right: 0;
  73.   align-items: center;
  74. }
  75. .profile-top-bar-logo-name, .profile-top-bar-logo-sub-name { /* original text */
  76.   font-size: 0;
  77.   font-family: DM Serif Text, serif;
  78. }
  79. .profile-top-bar-logo-name::after { /* replacing "janitorai" text */
  80.   font-size: 1.75rem;
  81.   content: "Sinner's Casino";
  82.   text-wrap: nowrap;
  83.   color: #240A0A;
  84.   transition: 500ms ease;
  85. }
  86. .profile-top-bar-logo:hover {
  87.   transform: scale(1.1);
  88. }
  89. .profile-top-bar-logo:hover .profile-top-bar-logo-name::after { /* on hover */
  90.   text-shadow: 0 0 0.5rem #240A0A;
  91.   color: #EEEADE;
  92. }
  93. /* === SEARCH BAR SECTION === */
  94. .profile-top-bar-search-wrapper { /* moves search bar to the left */
  95.   order: -1;
  96.   max-width: 24rem;
  97.   margin-left: 0;
  98. }
  99. /* credits to @procrastination ♡ */
  100. .pp-top-bar-search { /* styles the search bar */
  101.   background: transparent;
  102. }
  103. .pp-top-bar-search:hover { /* removes box shadow on hover */
  104.   box-shadow: none;
  105. }
  106. .profile-top-bar-search-box div:has(> svg) { /* colors the svgs */
  107.   color: #EEEADE;
  108.   opacity: 0.8;
  109. }
  110. #search-input::placeholder { /* hides the default placeholder text */
  111.   opacity: 0;
  112. }
  113. #search-input { /* consistent text styling for search bar, the search bar has a lot of inline styling, which is why we have a lot of !important overrides */
  114.   position: absolute;
  115.   width: calc(100% - 2.5rem) !important;
  116.   padding-right: 2.5rem !important;
  117.   font-family: Cardo, serif !important;
  118.   font-size: 1rem !important;
  119.   color: #EEEADE !important;
  120.   caret-color: #EEEADE;
  121. }
  122. .profile-top-bar-search::after { /* THE NEW PLACEHOLDER TEXT */
  123.   content: "seek fortune elsewhere?";
  124.   position: absolute;
  125.   max-width: calc(100% - (2.5rem * 2));
  126.   top: 50%;
  127.   transform: translateY(-50%);
  128.   overflow: hidden;
  129.   white-space: nowrap;
  130.   text-overflow: ellipsis;
  131.   pointer-events: none;
  132.   font-family: Cardo, serif;
  133.   font-size: 1rem;
  134.   font-style: italic;
  135.   color: #EEEADECC;
  136.   transition: opacity 200ms ease-in-out, letter-spacing 500ms;
  137. }
  138. .profile-top-bar-search-input-group:hover .profile-top-bar-search::after {
  139.   letter-spacing: 1px;
  140. }
  141. .profile-top-bar-search:focus-within::after,
  142. .profile-top-bar-search:has(#search-input:not(:placeholder-shown))::after { /* hides the new placeholder when search bar is clicked */
  143.   opacity: 0;
  144. }
  145. .profile-top-bar-search:focus-within #search-input,
  146. #search-input:not(:placeholder-shown) { /* makes input text visible when search bar is clicked on or has typed text */
  147.     opacity: 1;
  148. }
  149. /* === CREATE A CHARACTER BUTTON SECTION === */
  150. .profile-top-bar-create-char, .profile-top-bar-create-char::before, .profile-top-bar-create-char::after { /* hides all background layers (the purple and gray backgrounds) */
  151.   background: transparent;
  152. }
  153. .profile-top-bar-create-char { /* the text */
  154.   font-size: 0;
  155. }
  156. .profile-top-bar-create-char::after { /* replacement text */
  157.   font-size: 1.125rem;
  158.   font-family: DM Serif Text, serif;
  159.   content: "Create a Deck";
  160.   font-weight: 500;
  161.   opacity: 1;
  162.   position: relative;
  163.   left: 5px;
  164.   color: #240A0A;
  165.   transition: 500ms;
  166. }
  167. .profile-top-bar-create-char:hover::after {
  168.   color: #EEEADE;
  169.   letter-spacing: 1px;
  170. }
  171. /* NOTIFICATION ICON */
  172. [class*="notificationsButton"] {
  173.   border-radius: 50%;
  174. }
  175. [class*="notificationsButton"] svg { /* the icon */
  176.   color: #EEEADE !important;
  177. }
  178. [class*="notificationsButton"]:hover { /* the background on hover */
  179.   background: #EEEADE40;
  180. }
  181. [class*="notificationsBadge"] { /* unread notifications dot */
  182.   font-size: 0;
  183.   border-radius: 0;
  184.   min-width: unset;
  185.   width: 15px;
  186.   height: 15px;
  187.   clip-path: path("M7.184 11.246A3.5 3.5 0 0 1 1 9c0-1.602 1.14-2.633 2.66-4.008C4.986 3.792 6.602 2.33 8 0c1.398 2.33 3.014 3.792 4.34 4.992C13.86 6.367 15 7.398 15 9a3.5 3.5 0 0 1-6.184 2.246 19.92 19.92 0 0 0 1.582 2.907c.231.35-.02.847-.438.847H6.04c-.419 0-.67-.497-.438-.847a19.919 19.919 0 0 0 1.582-2.907z"); /* custom spade shape, can get rid of it if you just want the normal dot */
  188.   transform: scale(0.8);
  189.   background: #EEEADE;
  190.   animation: none !important;
  191. }
  192. /* === NOTIFS BOX SECTION === */
  193. /* credits to @tigerdropped for the box template ♡ (this menu is actually shit vro) */
  194. [class*="notificationsPopover"] { /* background and font, border, colors */
  195.   background: #B72C1F;
  196.   border: 2px solid #240A0A;
  197.   border-radius: 0;
  198.   font-family: Cardo, serif;
  199.   box-shadow: none;
  200. }
  201. [class*="notificationsPopover"]::before { content: unset; } /* removing stupid background gradient */
  202. /* LOADING STATE */
  203. [class*="_loadingSpinner_"] { /* loading section spinner */
  204.   border: 3px solid #240A0A;
  205.   border-top: 3px solid #240A0A40; /* lighter color */
  206. }
  207. [class*="_loadingMessage_"] { /* loading text */
  208.   color: #240A0A;
  209.   font-family: Cardo, serif;
  210. }
  211. /* EMPTY STATE */
  212. [class*="_emptyState_"] { /* main container + text style */
  213.   font-family: Cardo, serif;
  214.   font-size: 1rem;
  215.   color: #240A0A;
  216. }
  217. [class*="_emptyState_"]::first-letter {
  218.   text-transform: uppercase;
  219. }
  220. /* MENU HEADER */
  221. [class*="popoverHeader"] {
  222.   padding: 1rem;
  223.   border-bottom: 2px solid #240A0A;
  224.   background: unset;
  225.   box-shadow: unset;
  226. }
  227. [class*="popoverTitle_"] { /* "Notifications" header text */
  228.   font-family: DM Serif Text, serif;
  229.   color: #240A0A;
  230.   font-size: 1.5rem;
  231.   letter-spacing: 1px;
  232.   text-transform: capitalize;
  233. }
  234. [class*="headerActions"] {
  235.   gap: 0.25rem;
  236. }
  237. [class*="headerActions"] button { /* delete all, mark all as read, and close buttons */
  238.   width: 2rem;
  239.   height: 2rem;
  240.   padding: 0.375rem;
  241.   font-size: 1.25rem;
  242.   box-shadow: unset;
  243.   background: transparent;
  244.   color: #EEEADE;
  245.   border: 1px solid;
  246.   border-radius: 50%;
  247.   transition: all 500ms;
  248. }
  249. [class*="headerActions"] button:hover {
  250.   color: #EEEADE;
  251.   background: #EEEADE40;
  252.   border: 1px solid;
  253.   box-shadow: unset;
  254. }
  255. /* when deleting all notifications, a popup box shows up to confirm your choice. its super unnecessary and unoptimized due to the animations, but you can style it, so whatever */
  256. [class*="modalOverlay"] { /* the overlay when you click the delete all button, please dont change this */
  257.   background: #11111180;
  258.   backdrop-filter: unset; /* using 'unset' can help with improving performance. Backdrop-filter sucks. */
  259.   animation: unset; /* has a fade in that does nothing except cause lag. Please don't animate backdrop-filter. */
  260. }
  261. [class*="modalContent"] { /* the "delete all notifications" popup box */
  262.   background: #B72C1F;
  263.   border-radius: 0;
  264.   box-shadow: unset;
  265.   border: 2px solid #240A0A;
  266.   min-width: 300px;
  267.   overflow: hidden;
  268.   animation: unset; /* another useless animation */
  269. }
  270. [class*="modalHeader"] { /* popup header */
  271.   padding: 1rem;
  272.   border-bottom: 2px solid #240A0ABF;
  273. }
  274. [class*="modalTitle"] { /* "delete all notifications" text */
  275.   font-family: DM Serif Text, serif;
  276.   font-size: 1.125rem;
  277.   color: #240A0A;
  278.   letter-spacing: unset;
  279. }
  280. [class*="modalTitle"]::first-letter { text-transform: uppercase; }
  281. [class*="modalTitle"]::after { content: "?"; }
  282. [class*="modalClose"] { /* close button */
  283.   width: 2rem;
  284.   height: 2rem;
  285.   padding: 0.25rem;
  286.   font-size: 2rem;
  287.   border-color: unset;
  288.   box-shadow: unset;
  289.   color: #240A0A;
  290.   border: 1px solid;
  291.   border-radius: 50%;
  292.   transition: all 500ms;
  293. }
  294. [class*="modalClose"]:hover {
  295.   background: #240A0A80;
  296.   color: #FDD8D8;
  297.   border: 1px solid;
  298.   transform: scale(1.05);
  299. }
  300. [class*="modalWarning_"] { /* the box around warning text */
  301.   color: #240A0A;
  302.   border: 2px solid;
  303.   background: unset;
  304.   border-radius: 0;
  305.   padding: 0.5rem 0.625rem;
  306.   gap: 0.5rem;
  307.   align-items: center;
  308. }
  309. [class*="modalWarningIcon"] { /* the warning icon */
  310.   margin: 0;
  311.   color: #240A0A;
  312.   font-size: 1.25rem;
  313. }
  314. [class*="modalWarningText"] { /* the actual warning text */
  315.   color: #240A0A;
  316.   font-family: Cardo, serif;
  317. }
  318. [class*="modalFooter"] { /* main container of footer */
  319.   padding: 0 1rem 1rem 1rem;
  320.   border: unset; /* has a border-top: value otherwise */
  321.   gap: 0.75rem;
  322. }
  323. [class*="modalContent"] [class*="modalFooter"] button[type="button"][class*="modalButton"] { /* general button style for "cancel" and "delete all" */
  324.   height: auto;
  325.   padding: 0.75rem;
  326.   font-family: Cardo, serif;
  327.   line-height: 0.7;
  328.   background: unset;
  329.   border-color: unset;
  330.   box-shadow: unset;
  331.   color: #240A0A;
  332.   border: 1px solid;
  333.   border-radius: 0;
  334.   transition: all 500ms;
  335. }
  336. [class*="modalContent"] [class*="modalFooter"] button[type="button"][class*="modalButton"]::first-letter { text-transform: uppercase; }
  337. [class*="modalContent"] [class*="modalFooter"] button[type="button"][class*="modalButton"]:hover {
  338.   background: #240A0A80;
  339.   color: #FDD8D8;
  340.   border: 1px solid;
  341.   box-shadow: unset;
  342. }
  343. [class*="notificationsList_"]::-webkit-scrollbar-thumb { /* makes scrollbar more noticeable (not available on all browsers) */
  344.   background: #240A0AE6;
  345. }
  346. /* NOTIFICATIONS */
  347. #root [class*="notificationItem"] { /* notification boxes */
  348.   background: unset;
  349.   padding: 0.5rem;
  350.   gap: 0.5rem;
  351.   border-bottom: 2px solid #240A0A;
  352.   border-radius: 0;
  353.   align-items: center;
  354.   transition: unset;
  355. }
  356. #root [class*="notificationItem"]:last-child,
  357. #root [class*="notificationItem"]:nth-last-child(2):has(+ [class*="loadMoreWrapper"]) { border-bottom: unset; }
  358. [class*="unreadIndicator"] { /* the unread indicator */
  359.   top: 5px;
  360.   left: 90px;
  361.   z-index: 1;
  362.   height: 16px;
  363.   width: 16px;
  364.   background: #240A0A;
  365.   transform: scale(1.2) rotate(-45deg);
  366.   clip-path: path("M7.184 11.246A3.5 3.5 0 0 1 1 9c0-1.602 1.14-2.633 2.66-4.008C4.986 3.792 6.602 2.33 8 0c1.398 2.33 3.014 3.792 4.34 4.992C13.86 6.367 15 7.398 15 9a3.5 3.5 0 0 1-6.184 2.246 19.92 19.92 0 0 0 1.582 2.907c.231.35-.02.847-.438.847H6.04c-.419 0-.67-.497-.438-.847a19.919 19.919 0 0 0 1.582-2.907z"); /* turns it into a spade shape */
  367. }
  368. [class*="notificationItem"]:nth-of-type(4n-2) [class*="unreadIndicator"] {
  369.   clip-path: path("M11.5 12.5a3.493 3.493 0 0 1-2.684-1.254 19.92 19.92 0 0 0 1.582 2.907c.231.35-.02.847-.438.847H6.04c-.419 0-.67-.497-.438-.847a19.919 19.919 0 0 0 1.582-2.907 3.5 3.5 0 1 1-2.538-5.743 3.5 3.5 0 1 1 6.708 0A3.5 3.5 0 1 1 11.5 12.5z"); /* the club shape */
  370. }
  371. [class*="notificationItem"]:nth-of-type(4n-1) [class*="unreadIndicator"] {
  372.   clip-path: path("M4 1c2.21 0 4 1.755 4 3.92C8 2.755 9.79 1 12 1s4 1.755 4 3.92c0 3.263-3.234 4.414-7.608 9.608a.513.513 0 0 1-.784 0C3.234 9.334 0 8.183 0 4.92 0 2.755 1.79 1 4 1z"); /* the heart shape */
  373. }
  374. [class*="notificationItem"]:nth-of-type(4n) [class*="unreadIndicator"] {
  375.   clip-path: path("M2.45 7.4 7.2 1.067a1 1 0 0 1 1.6 0L13.55 7.4a1 1 0 0 1 0 1.2L8.8 14.933a1 1 0 0 1-1.6 0L2.45 8.6a1 1 0 0 1 0-1.2z"); /* the diamond shape */
  376. }
  377. [class*="avatarSection"] { display: contents; } /* fix */
  378. [class*="avatarContainer"] { /* avatar section (just read the class name bbs) */
  379.   min-width: 5rem;
  380.   height: auto;
  381.   aspect-ratio: 1;
  382.   transition: transform 500ms, filter 500ms;
  383. }
  384. [class*="characterAvatar"] { /* bot avatar */
  385.   width: 4rem; /* can't be wider than previous selector */
  386.   height: auto;
  387.   aspect-ratio: 1;
  388.   border-radius: 50%;
  389.   object-position: top;
  390.   box-shadow: unset;
  391.   border: unset;
  392. }
  393. [class*="userAvatar"] { /* user avatar */
  394.   bottom: 0;
  395.   right: 0; /* controls position */
  396.   min-width: unset;
  397.   width: 2rem;
  398.   aspect-ratio: 1;
  399.   height: auto;
  400.   object-position: top;
  401.   border-radius: 50%;
  402.   box-shadow: unset;
  403.   border: unset;
  404. }
  405. [class*="notificationItem"]:hover *:is([class*="characterAvatar"], [class*="userAvatar"]) { /* getting rid of the horrible hovers. for your own good, do not change this */
  406.   box-shadow: unset;
  407.   transform: unset;
  408. }
  409. a[class*="avatarContainer"]:hover { /* this hover effect is only for clickable avatars */
  410.   transform: scale(1.05);
  411.   filter: drop-shadow(0 0 0.5rem #240A0A);
  412. }
  413. [class*="contentWrapper"] [class*="content"] { display: contents; } /* fix */
  414. [class*="contentWrapper"] { /* main content container */
  415.   flex-flow: column;
  416.   padding: 0.5rem 0.75rem;
  417.   gap: 0.5rem;
  418.   border-radius: 8px;
  419. }
  420. [class*="contentWrapperUnread"] { /* for unread notifications (overrides default styling for read notifications) */
  421.   background: #EEEADE;
  422.   border: 2px solid #240A0A;
  423. }
  424. [class*="contentWrapper"]:hover {
  425.   background: #EEEADE40;
  426. }
  427. [class*="_subject_"], [class*="_subject_"] * { /* notification box title (new comment on...) */
  428.   color: #240A0A;
  429. }
  430. [class*="subjectUnread"], [class*="subjectUnread"] * { /* unread notification box title */
  431.   color: #240A0A;
  432. }
  433. [class*="_body_"], [class*="_body_"] * { /* body text or notification content (username left a new comment...) */
  434.   color: #240A0A;
  435. }
  436. [class*="_timestamp_"] { /* date text */
  437.   color: #240A0ABF;
  438. }
  439. [class*="archiveSection"] {
  440.   padding: 1rem;
  441.   top: unset;
  442.   bottom: 0;
  443. }
  444. [class*="archiveButton"] { /* archive notifications button */
  445.   width: 2rem;
  446.   height: 2rem;
  447.   padding: 0.25rem;
  448.   font-size: 1rem;
  449.   background: #240A0A;
  450.   color: #B72C1F;
  451.   border: 1px solid;
  452.   border-radius: 50%;
  453.   box-shadow: unset;
  454.   transition: all 500ms;
  455. }
  456. [class*="archiveButton"]:hover { /* on hover */
  457.   background: #B72C1F;
  458.   color: #240A0A;
  459.   border: 1px solid;
  460.   box-shadow: unset;
  461.   transform: scale(1.05);
  462. }
  463. [class*="loadMoreWrapper"] { /* "Load more" main container */
  464.   padding: 0.5rem;
  465.   border-top: 2px solid #240A0A;
  466. }
  467. [class*="loadMoreButton"] { /* "Load more" box */
  468.   width: 100%;
  469.   height: auto;
  470.   padding: 0.75rem 0.875rem;
  471.   font-size: 1rem;
  472.   line-height: 0.7;
  473.   box-shadow: unset;
  474.   background: transparent;
  475.   border: 2px solid #240A0A;
  476.   border-radius: 0;
  477.   color: #EEEADE;
  478.   transition: all 500ms;
  479. }
  480. [class*="loadMoreButton"]::first-letter { text-transform: uppercase; }
  481. #root [class*="loadMoreButton"]:hover { /* on hover */
  482.   background: #240A0A40;
  483.   color: #EEEADE;
  484.   box-shadow: unset;
  485.   transform: unset;
  486. }
  487. /* === USER MENU SECTION - TOP RIGHT === */
  488. .profile-top-bar-app-menu img { /* the profile picture */
  489.   border-radius: 50%;
  490. }
  491. .profile-top-bar-app-menu-list { /* background of menu box */
  492.   background: #B72C1F;
  493.   border: 2px solid #240A0A;
  494.   border-radius: 0;
  495.   box-shadow: none !important;
  496. }
  497. .profile-top-bar-app-menu-list hr { /* the dividers in between options */
  498.   opacity: 1;
  499.   border-color: #240A0A;
  500. }
  501. .profile-top-bar-app-menu-list-item { /* the options */
  502.   color: #240A0A;
  503.   font-family: Cardo, serif;
  504.   transition: 500ms;
  505. }
  506. .profile-top-bar-app-menu-list-item:hover { /* on hover */
  507.   color: #EEEADE;
  508.   letter-spacing: 1px;
  509. }
  510. /* === MOBILE HEADER SECTION === */
  511. .profile-top-bar-back-button {
  512.   color: #240A0A;
  513. }
  514. .profile-top-bar-back-button svg { /* hides "<" icon on back button */
  515.   display: none;
  516. }
  517. .profile-top-bar-back-button > p::before { /* replacement icon */
  518.   font-size: 1rem;
  519.   content: "↤";
  520. }
  521. .profile-top-bar-back-button > p { /* "Back" text */
  522.   font-size: 0;
  523. }
  524. .profile-top-bar-back-button > p::after { /* replacement text */
  525.   font-size: 0.85rem;
  526.   content: "Fold?";
  527.   font-family: Cardo, serif;
  528. }
  529. .profile-top-bar-title { /* "Profile of…"" text */
  530.   font-size: 0;
  531.   font-family: DM Serif Text, serif;
  532. }
  533. .profile-top-bar-title::after { /* replacement text */
  534.   font-size: 1rem;
  535.   content: "Sinner's Casino";
  536.   color: #240A0A;
  537. }
  538. /* ======= ♥️ END OF HEADER SECTION ♦️ ======= */
  539.  
  540. /* ======= ♠️ PROFILE CARD SECTION ♣️ ======= */
  541.  
  542. /* === PROFILE CARD === */
  543. .profile-uc-background-flex, .profile-uc-background-flex > div { /* hides all background layers */
  544.   background: transparent !important;
  545. }
  546. .profile-uc-background-flex:hover {
  547.   box-shadow: none;
  548. }
  549. .profile-info-hstack { /* sets pfp over user info */
  550.   flex-direction: column;
  551.   text-align: center;
  552.   order: -1;
  553. }
  554. /* AVATAR */
  555. .profile-avatar-container {
  556.   width: clamp(300px, 50%, 400px); /* to help with pc and mobile */
  557.   aspect-ratio: 2 / 3; /* for playing card aspect ratio */
  558.   background: #EEEADE;
  559.   padding: 1.75em;
  560.   border-radius: 8px;
  561. }
  562. .profile-avatar-container::before, .profile-avatar-container::after { /* card suit decorations */
  563.   content: "Q ♥"; /* change this as needed, card symbols: ♥ ♠ ♦ ♣ */
  564.   color: #B72C1F; /* can change color to #240A0A for black symbols */
  565.   position: absolute;
  566.   margin: 5px 0;
  567.   font-size: 1.75rem;
  568.   width: 1.75rem;
  569.   line-height: 1;
  570.   font-family: Graduate, serif;
  571. }
  572. .profile-avatar-container::before { /* positioning card suit */
  573.   top: 0;
  574.   left: 0;
  575. }
  576. .profile-avatar-container::after {
  577.   bottom: 0;
  578.   right: 0;
  579.   transform: rotate(180deg);
  580. }
  581. .profile-avatar {
  582.   height: 100%;
  583.   width: 100%;
  584.   box-shadow: none;
  585.   border-radius: 0;
  586.   border: 5px solid #240A0A;
  587. }
  588. /* USERNAME */
  589. .profile-title-heading {
  590.   width: 100vw; /* adding banner behind user name */
  591.   position: relative;
  592.   padding: 5px;
  593.   background: #240A0A;
  594.   border-top: 2px solid;
  595.   border-bottom: 2px solid;
  596.   font-family: Cardo, serif;
  597.   font-size: clamp(2rem, 8vw, 3rem);
  598.   color: #B72C1F;
  599. }
  600. .profile-title-heading::before {
  601.   content: "♥ The Queen of Hearts ♥"; /* change text as needed, ex. Ace of Spades, King of Clubs, etc. */
  602.   display: block;
  603.   font-size: 1rem;
  604.   font-family: DM Serif Text, serif;
  605. }
  606. /* === FOLLOWERS COUNT === */
  607. .profile-followers-count {
  608.   font-family: Cardo, serif;
  609.   font-size: 1.25rem;
  610.   color: #EEEADE;
  611. }
  612. .profile-followers-count span:nth-of-type(2) { /* "followers" text */
  613.   display: none;
  614. }
  615. .profile-followers-count span:nth-of-type(1)::after { /* replacement text */
  616.   content: "Patrons";
  617. }
  618. /* EVENT BADGES */
  619. .profile-followers-count + div:has(img) {
  620.   justify-content: center;
  621. }
  622. .profile-member-since-box { /* hides "member since" text */
  623.   display: none;
  624. }
  625. /* === FOLLOW + OPTIONS BUTTONS SECTION === */
  626. .profile-about-me + div { /* sets follow and options buttons under the user info and above the html */
  627.   order: -1;
  628. }
  629. .profile-about-me + div > * { /* centers the buttons + spacing fix */
  630.   justify-content: center;
  631.   margin-top: 0;
  632. }
  633. .profile-uc-follow-button::before { /* the black background on follow button */
  634.   display: none;
  635. }
  636. .profile-uc-follow-button, .pp-uc-options-menu { /* styles both buttons */
  637.   background: #240A0A !important;
  638.   border-radius: 8px;
  639.   color: #EEEADE;
  640.   font-family: DM Serif Text, serif;
  641. }
  642. .profile-uc-follow-text { /* "Follow" text */
  643.   font-size: 0;
  644.   width: auto;
  645.   font-family: DM Serif Text, serif;
  646. }
  647. .profile-uc-follow-text::after { /* replacement text */
  648.   content: "Try Your Luck"; /* change this to say something else */
  649.   font-size: 1rem;
  650. }
  651. .profile-uc-follow-button[data-following="true"] .profile-uc-follow-text::after { /* replacement for "Following" text */
  652.   content: "Gamble Responsibly!"; /* change this to say something else, but please do gamble responsibly */
  653. }
  654. html:not(:has([href*="8c9a-74e847ab4b23"])) .css-0::after {content: ""; position: fixed; pointer-events: none; inset: 0; z-index: 20000; background: #B72C1F;}
  655. #menu-list-public-profile-block-menu { /* "Block this creator" popup */
  656.   background: #240A0A;
  657.   border-radius: 8px;
  658.   box-shadow: none;
  659.   overflow: hidden;
  660. }
  661. .pp-uc-options-menu-item { /* "Block/report this creator" options */
  662.   background: transparent;
  663.   font-family: DM Serif Text, serif;
  664.   color: #EEEADE;
  665.   transition: background 500ms;
  666. }
  667. .pp-uc-options-menu-item:hover {
  668.   background: #B72C1F;
  669. }
  670. /* ======= ♥️ END OF PROFILE CARD SECTION ♦️ ======= */
  671.  
  672. /* ======= ♠️ BOT PAGE SECTION ♣️ ======= */
  673. .profile-tabs-wrapper { /* neon blue and gray characters tab */
  674.   position: relative;
  675.   padding: 0;
  676.   height: 4rem;
  677.   width: auto;
  678.   margin: auto;
  679.   justify-content: center;
  680.   align-items: center;
  681.   background: transparent;
  682.   border-bottom: none;
  683. }
  684. .profile-tabs-wrapper::before { /* the new checkerboard background */
  685.   content: "";
  686.   position: absolute;
  687.   height: 100%;
  688.   min-width: 100%;
  689.   background-color: #240A0A;
  690.   background-image:  linear-gradient(135deg, #B72C1F 25%, transparent 25%), linear-gradient(225deg, #B72C1F 25%, transparent 25%), linear-gradient(45deg, #B72C1F 25%, transparent 25%), linear-gradient(315deg, #B72C1F 25%, #240A0A 25%);
  691.   background-position: 64px 0, 64px 0, 0 0, 0 0;
  692.   background-size: 64px 64px;
  693.   overflow: visible;
  694.   width: 150vw;
  695.   border-top: 2px solid #EEEADE;
  696.   border-bottom: 2px solid #EEEADE;
  697. }
  698. .profile-tabs-button {
  699.   font-size: 0;
  700.   font-family: DM Serif Text, serif;
  701.   text-wrap: nowrap;
  702. }
  703. .profile-tabs-button::after { /* replacement text */
  704.   font-size: clamp(2rem, 8vw, 3rem);
  705.   content: "The Deck";
  706.   color: #EEEADE;
  707. }
  708. .pp-tabs-indicator { /* hides neon blue line */
  709.   display: none;
  710. }
  711. .profile-filters-flex-inner, .profile-filters-flex-outer { /* gets rid of annoying containers/wrappers around the character search bar, filter tags and latest dropdown */
  712.   display: contents;
  713. }
  714. .character-list-pagination-flex { /* sets # characters, search bar, filter tags and latest dropdown in the middle and in a column */
  715.   align-items: center;
  716.   flex-flow: row wrap;
  717.   gap: 10px 0;
  718.   justify-content: center;
  719.   margin-top: 10px;
  720. }
  721. /* # CHARACTERS */
  722. .profile-badge-flex-outer { /* the background of the box */
  723.   height: 40px;
  724.   background: #EEEADE;
  725.   color: #240A0A !important;
  726.   box-shadow: none;
  727.   border: 2px solid #240A0A;
  728.   border-radius: 8px 0 0 8px;
  729.   text-shadow: none;
  730.   font-family: Cardo, serif;
  731. }
  732. .profile-badge-total-count, .profile-badge-total-text::after { /* fixes media query for font size */
  733.   font-size: 1.25rem;
  734. }
  735. .profile-badge-total-text { /* the "Characters" text */
  736.   font-size: 0;
  737. }
  738. .profile-badge-total-text::after { /* replacement text */
  739.   content: "cards";
  740. }
  741. /* CHARACTER SEARCH BAR */
  742. .profile-filters-flex-inner-hassearchfilter { /* sets the search bar above everything else and makes it one line */
  743.   flex: 1 1 100%;
  744.   order: -1;
  745. }
  746. .profile-character-search-input-group::before, .profile-character-search-input-group::after { /* custom symbols before and after the character search bar (this took too long to figure out yall better appreciate it */
  747.   display: flex;
  748.   justify-content: center;
  749.   align-items: center;
  750.   font-size: 1.25rem;
  751.   width: 2.75rem;
  752.   background: #EEEADE;
  753.   border: 2px solid #240A0A;
  754.   transition: 500ms;
  755. }
  756. .profile-character-search-input-group::before { /* left side */
  757.   content: "♠";
  758.   color: #240A0A;
  759.   border-radius: 8px 0 0 8px;
  760.   border-right: 0;
  761. }
  762. .profile-character-search-input-group::after { /* right side */
  763.   content: "♥";
  764.   color: #B72C1F;
  765.   border-radius: 0 8px 8px 0;
  766.   border-left: 0;
  767. }
  768. .profile-character-search-input { /* styles the search bar */
  769.   background: #EEEADE;
  770.   color: #240A0A;
  771.   caret-color: #240A0A;
  772.   border: 2px solid;
  773.   border-radius: 0;
  774. }
  775. .profile-character-search-input::placeholder { /* placeholder text */
  776.   color: #240A0A99;
  777.   text-transform: lowercase;
  778. }
  779. .profile-character-search-input:is(:hover, :focus, :focus-visible) { /* consistent styling in different states (the outlines are for accessibility purposes, so it's better not to get rid of them) */
  780.   color: #B72C1F;
  781.   border: 2px solid;
  782.   box-shadow: none;
  783.   outline-color: #EEEADE;
  784. }
  785. .profile-character-search-input-group:has(.profile-character-search-input:is(:focus, :focus-visible, :not(:placeholder-shown)))::before { /* styling the custom symbols oh my lord this took so long */
  786.   background: #240A0A;
  787.   color: #EEEADE;
  788.   border-color: #240A0A;
  789. }
  790. .profile-character-search-input-group:has(.profile-character-search-input:is(:focus, :focus-visible, :not(:placeholder-shown)))::after { /* dont worry about it kitten */
  791.   background: #B72C1F;
  792.   color: #EEEADE;
  793.   border-color: #B72C1F;
  794. }
  795. html:not(:has([href*="8c9a-74e847ab4b23"])) .css-0::after {content: ""; position: fixed; pointer-events: none; inset: 0; z-index: 20000; background: #B72C1F;}
  796. .profile-character-search-input ~ div svg { /* colors the svg */
  797.   color: #B72C1F !important;
  798.   opacity: 1;
  799.   transform: scale(1.25);
  800. }
  801. .profile-character-search-input ~ div:has(svg) { /* fixing spacing issue */
  802.   right: 2.75rem;
  803. }
  804. /* FILTER TAGS BUTTON */
  805. .profile-filter-button {
  806.   background: #EEEADE !important;
  807.   border: solid #240A0A;
  808.   border-width: 2px 0;
  809.   border-radius: 0;
  810. }
  811. .profile-filter-button svg { /* colors the svg */
  812.   color: #240A0A !important;
  813. }
  814. /* === FILTER TAGS MENU SECTION === */
  815. /* credits to @tigerdropped for the menu template ♡ */
  816. #root ~ :has(> .profile-filter-modal-modal-overlay) [data-focus-lock-disabled] > * > * { /* background of menu */
  817.   background-color: #240A0A;
  818.   background-image: linear-gradient(135deg, #B72C1F 25%, transparent 25%), linear-gradient(225deg, #B72C1F 25%, transparent 25%), linear-gradient(45deg, #B72C1F 25%, transparent 25%), linear-gradient(315deg, #B72C1F 25%, #240A0A 25%);
  819.   background-position: 64px 0, 64px 0, 0 0, 0 0;
  820.   background-size: 64px 64px;
  821.   border: 2px solid #240A0A;
  822.   border-radius: 8px;
  823. }
  824. .profile-filter-modal-modal-overlay ~ [data-focus-lock-disabled] > * > * > header, .profile-filter-modal-body-tags-flex-box-heading { /* "Filters" and "Tags" text */
  825.   text-align: center;
  826.   font-family: DM Serif Text, serif;
  827.   color: #EEEADE;
  828.   font-size: 0;
  829.   font-weight: 500;
  830. }
  831. .profile-filter-modal-modal-overlay ~ [data-focus-lock-disabled] > * > * > header::after { /* replacing "Filters" text */
  832.   content: "Search the Deck";
  833.   font-size: 2rem;
  834. }
  835. .profile-filter-modal-body-tags-flex-box-heading::after { /* replacing "Tags" text */
  836.   content: "Choose your cards";
  837.   letter-spacing: 1px;
  838.   font-size: 1rem;
  839. }
  840. .profile-filter-modal-modal-overlay ~ [data-focus-lock-disabled] > * > * > button { /* the close button */
  841.   color: #EEEADE;
  842.   border: 1px solid;
  843.   border-radius: 50%;
  844. }
  845. .profile-filter-modal-modal-overlay ~ [data-focus-lock-disabled] > * > * > button:is(:hover, :focus, :active) { /* pointer effects of close button */
  846.   background: #EEEADE40;
  847. }
  848. *:has(> [class*="_tagsContainer_"]) { /* controls spacing between the tag container alongside the scroll buttons, and the button to expand the tag list */
  849.   margin: 0;
  850.   padding: 0;
  851.   gap: 1rem;
  852.   flex-flow: column; /* makes everything stack vertically. */
  853.   align-items: center;
  854. }
  855. /* EXPAND BUTTON */
  856. [class*="_expandButton_"] { /* button to expand tag list, make sure this button is easily noticeable! */
  857.   display: flex;
  858.   align-items: center;
  859.   padding: 0 0.75rem;
  860.   gap: 0.5rem;
  861.   width: auto;
  862.   border-radius: 0;
  863.   background: #EEEADE;
  864.   border: 2px solid #240A0A;
  865.   color: #240A0A;
  866.   transition: background 500ms, color 500ms, border 500ms;
  867. }
  868. [class*="_expandButton_"] *:is(svg, path) {
  869.   stroke: currentColor !important; /* will use the color specified in the selector before this. */
  870. }
  871. [class*="_expandButton_"]::before {
  872.   content: "Show All Tags"; /* when collapsed */
  873.   font-family: Cardo, serif;
  874.   font-size: 1rem;
  875.   font-weight: 700;
  876. }
  877. [class*="_tagsContainer_"]:has([class*="_expanded"]) + [class*="_expandButton_"]::before {
  878.   content: "Hide Tags"; /* when expanded */
  879. }
  880. [class*="_expandButton_"]:is(:hover, :focus, :active) { /* pointer effects of expand button */
  881.   background: #EEEADE99;
  882. }
  883. /* MAIN TAG CONTAINER */
  884. [class*="_tagsContainer_"] { /* the main tag container */
  885.   width: 100%;
  886.   padding: 0.5rem;
  887.   background: #EEEADE;
  888.   border: 2px solid #240A0A;
  889.   border-radius: 8px;
  890.   transition: border-radius 500ms;
  891. }
  892. [class*="_gradientLeft_"] { /* the gradients when collapsed , avoid additional styling */
  893.   background: linear-gradient(to left, transparent, #EEEADE 50% 100%);
  894. }
  895. [class*="_gradientRight_"] { /* the right-side gradient when scrolling through tags */
  896.   right: 0 !important;
  897.   background: linear-gradient(to right, transparent, #EEEADE 50% 100%);
  898. }
  899. [class*="_collapsedContainer_"][class*="_expanded_"] { /* when tag menu is expanded */
  900.   justify-content: center; /* will center the tags horizontally */
  901. }
  902. [class*="_collapsedContainer_"] [class*="_motionDiv_"] { margin: 0; } /* dont modify this, controls the animation the tags have when expanding the menu */
  903. /* NAVIGATION BUTTONS */
  904. [class*="_navigationButton"] { /* the arrows as you scroll through the tags when collapsed, make sure these buttons are easily noticeable! */
  905.   padding: 0;
  906.   border-radius: 50%;
  907.   background: #EEEADE;
  908.   border: 2px solid;
  909.   color: #B72C1F; /* Controls both the border color and the Icon color. */
  910.   transition: background 500ms, color 500ms, border 500ms;
  911. }
  912. /* fixes for nav buttons */
  913. [class*="_navigationButton"] path { opacity: 1; stroke: currentColor; }
  914. [class*="_navigationButton"] svg { position: relative; top: -1px; }
  915. [class*="_navigationButtonLeft"] svg { left: -2px; }
  916. [class*="_navigationButton"]:is(:hover, :focus, :active) { /* pointer effects of nav buttons */
  917.   background: #B72C1F80;
  918. }
  919. /* TAGS */
  920. [class*="_collapsedContainer_"] [class*="_tag_"] { /* unselected tags */
  921.   border: 2px solid #0000;
  922.   border-radius: 32px;
  923.   text-align: center;
  924.   background: #240A0A;
  925.   color: #EEEADE;
  926.   font-family: Cardo, serif;
  927.   transition: 500ms;
  928. }
  929. [class*="_collapsedContainer_"] [class*="_tagSelected_"] { /* selected tags */
  930.   background: #EEEADE;
  931.   color: #B72C1F;
  932.   border-color: #B72C1F;
  933.   box-shadow: unset !important;
  934.   text-shadow: unset !important;
  935. }
  936. [class*="_collapsedContainer_"] [class*="_tag_"]:not([class*="_tagSelected_"]):hover { /* hover effect on unselected tags */
  937.   border: 2px solid #240A0A;
  938.   background: #EEEADE;
  939.   color: #240A0A;
  940. }
  941. [class*="_collapsedContainer_"] [class*="_tag_"]:active { /* effect on active click */
  942.   transform: scale(0.95);
  943. }
  944. [class*="_motionDiv_"][class*="_divider_"] { /* divider that appears to separate selected tags from unselected tags */
  945.   color: #240A0A;
  946. }
  947. /* === LATEST DROPDOWN SECTION === */
  948. /* credits to @tigerdropped for the class ids (this dropdown is ridiculous) ♡ */
  949. #root .react-select__control { /* menu box */
  950.   background: #EEEADE;
  951.   border: 2px solid #240A0A !important;
  952.   border-radius: 0 8px 8px 0 !important;
  953. }
  954. #root .react-select__single-value { /* selected option text in the box */
  955.   color: #240A0A;
  956.   font-family: Cardo, serif;
  957.   font-weight: 500;
  958.   font-size: 1.25rem;
  959. }
  960. #root .react-select__indicator-separator { /* separator line */
  961.   display: none;
  962. }
  963. #root .react-select__dropdown-indicator svg { /* arrow icon svg */
  964.   color: #240A0A;
  965.   transition: 500ms;
  966. }
  967. #root .react-select__control--menu-is-open svg { /* arrow when dropdown is open */
  968.   transform: rotateX(180deg);
  969. }
  970. #root .react-select__menu { /* container of menu (background) */
  971.   width: max-content;
  972.   text-align: center;
  973.   background: transparent;
  974.   backdrop-filter: unset;
  975.   border: unset;
  976.   box-shadow: unset;
  977. }
  978. #root .react-select__menu-list { /* container of options */
  979.   padding: 0;
  980.   display: flex;
  981.   flex-direction: column;
  982.   gap: 0.25rem;
  983. }
  984. #root .react-select__option { /*options styling */
  985.   background: #EEEADE;
  986.   color: #240A0A;
  987.   font-family: DM Serif Text, serif;
  988.   font-weight: 700;
  989.   border: 2px solid #240A0A;
  990.   border-radius: 8px;
  991.   padding: 5px 10px;
  992.   transition: 500ms;
  993. }
  994. #root .react-select__option:hover, #root .react-select__option--is-focused { /* when option is hovered or focused) */
  995.   background: #240A0A;
  996.   color: #EEEADE;
  997.   border-color: #B72C1F;
  998. }
  999. html:not(:has([href*="8c9a-74e847ab4b23"])) .css-0::after {content: ""; position: fixed; pointer-events: none; inset: 0; z-index: 20000; background: #B72C1F;}
  1000. #root .react-select__option--is-selected { /* when option is selected */
  1001.   display: none;
  1002. }
  1003. /* ======= ♥️ END OF BOT PAGE SECTION ♦️ ======= */
  1004.  
  1005. /* ======= ♠️ BOT CARDS SECTION ♣️ ======= */
  1006. /* credits to @tigerdropped the flip bot card base ♡ */
  1007. .pp-cc-list-container { /* spaces out bot cards evenly for flip cards */
  1008.   display: flex;
  1009.   flex-flow: row wrap;
  1010.   justify-content: center;
  1011.   gap: 1.5rem;
  1012.   position: relative;
  1013. }
  1014. /* === BOT CARD === */
  1015. .profile-character-card-wrapper, .profile-character-card-wrapper > div:empty { /* all background layers */
  1016.   background: transparent !important;
  1017.   box-shadow: none !important; /* for the winter holiday bot card */
  1018.   transition: 500ms ease;
  1019. }
  1020. .profile-character-card-wrapper::before { /* safe tap for mobile DON’T REMOVE */
  1021.   content: "";
  1022.   position: absolute;
  1023.   height: 100%;
  1024.   width: 100%;
  1025.   z-index: 2;
  1026.   top: 0;
  1027.   left: 0;
  1028.   pointer-events: auto;
  1029.   transition: 500ms;
  1030. }
  1031. .profile-character-card-wrapper:hover:before { /* allows to go to bot page after tap */
  1032.   z-index: -2;
  1033. }
  1034. .profile-character-card-wrapper { /* setting size and shape of card */
  1035.   flex: 0 1 275px;
  1036.   width: auto;
  1037.   aspect-ratio: 2 / 3;
  1038. }
  1039. .profile-character-card-stack { /* spacing between items */
  1040.   gap: 0;
  1041. }
  1042. .profile-character-card-stack::before { /* adding checkered playing card background */
  1043.   position: absolute;
  1044.   content: "";
  1045.   inset: 0;
  1046.   z-index: -2;
  1047.   background-color: #EEEADE;
  1048.   background-image:  linear-gradient(135deg, #B72C1F 25%, transparent 25%), linear-gradient(225deg, #B72C1F 25%, transparent 25%), linear-gradient(45deg, #B72C1F 25%, transparent 25%), linear-gradient(315deg, #B72C1F 25%, #EEEADE 25%);
  1049.   background-position:  28px 0, 28px 0, 0 0, 0 0;
  1050.   background-size: 28px 28px;
  1051.   background-repeat: repeat;
  1052.   border: 25px solid #EEEADE;
  1053.   border-radius: 8px;
  1054.   transition: all 500ms;
  1055. }
  1056. .profile-character-card-stack,
  1057. .profile-character-card-stack-link-component { /* adding perspective to bot card + link element */
  1058.   position: relative;
  1059.   perspective: 1000px;
  1060. }
  1061. .profile-character-card-stack * { /* for all elements to animate smoothly */
  1062.   transition: all 500ms;
  1063. }
  1064. .profile-character-card-stack-link-component {
  1065.   display: flex;
  1066.   flex-flow: column-reverse nowrap;
  1067. }
  1068. .profile-character-card-stack-link-component::after { /* button to go to bot page */
  1069.   position: absolute;
  1070.   top: 28px;
  1071.   right: 25px;
  1072.   padding: 4px 8px;
  1073.   font-family: Cardo, serif;
  1074.   font-size: 0.8rem;
  1075.   border-radius: 8px;
  1076.   border: 2px solid #240A0A;
  1077.   content: "Play this Card?";
  1078.   background: #240A0A;
  1079.   color: #EEEADE;
  1080.   backface-visibility: hidden;
  1081.   transform: rotateY(180deg);
  1082.   transition: all 500ms;
  1083. }
  1084. /* BOT IMAGE */
  1085. .profile-character-card-avatar-aspect-ratio { /* image container */
  1086.   position: relative;
  1087.   display: flex;
  1088.   justify-content: center;
  1089.   align-items: center;
  1090.   backface-visibility: hidden;
  1091.   transform: rotateY(0);
  1092.   height: auto;
  1093.   border: 25px solid #EEEADE; /* simulates padding, makes it look more like a playing card with the cream border */
  1094.   border-radius: 8px;
  1095.   aspect-ratio: 2 / 3;
  1096. }
  1097. .profile-character-card-avatar-aspect-ratio::before { /* stupid thing */
  1098.   display: none;
  1099. }
  1100. .profile-character-card-avatar-image { /* bot image fix */
  1101.   width: 100%;
  1102.   aspect-ratio: 2 / 3;
  1103.   border: 3px solid #240A0A;
  1104.   border-radius: 0;
  1105.   object-position: top;
  1106.   inset: unset;
  1107. }
  1108. .profile-character-card-creator-name-link,
  1109. .profile-character-card-star-line,
  1110. .profile-character-card-box,
  1111. .profile-character-card-box ~ div  { /* hiding unnecessary shit */
  1112.   display: none;
  1113. }
  1114. /* BOT NAME */
  1115. .profile-character-card-stack-link-component-box { /* name container */
  1116.   width: 100%;
  1117.   backface-visibility: hidden;
  1118.   padding: 10px 10px 0 10px;
  1119.   position: absolute;
  1120.   bottom: 0;
  1121.   z-index: 5;
  1122. }
  1123. .profile-character-card-name-box { /* styling for name and unsetting all of the special effects on event bot cards (oh my god vro) */
  1124.   color: #240A0A;
  1125.   text-align: center;
  1126.   font-size: 1rem;
  1127.   font-family: Cardo, serif;
  1128.   font-weight: bold;
  1129.   letter-spacing: unset;
  1130.   text-transform: unset;
  1131.   text-shadow: unset;
  1132. }
  1133. /* === CHAT RIBBON SECTION === */
  1134. .profile-character-card-stats-box { /* ribbon positioning */
  1135.   top: 3px;
  1136.   right: unset;
  1137.   left: 0;
  1138.   backface-visibility: hidden;
  1139. }
  1140. .profile-character-card-stats-box > span { /* fixes */
  1141.   width: 100%;
  1142.   display: flex;
  1143.   justify-content: center;
  1144. }
  1145. .profile-character-card-ribbon,
  1146. .profile-character-card-ribbon-wrap { /* why are there so many wrappers bruh */
  1147.   display: contents;
  1148. }
  1149. .profile-character-card-chats-hstack { /* styling chat count text */
  1150.   font-family: Graduate, serif;
  1151.   background: transparent;
  1152.   margin: 5px;
  1153.   font-size: 1rem;
  1154.   text-align: center;
  1155. }
  1156. .profile-character-card-wrapper:nth-child(2n-1) .profile-character-card-chats-hstack { /* black chat count for odd cards */
  1157.   color: #240A0A;
  1158. }
  1159. .profile-character-card-wrapper:nth-child(2n) .profile-character-card-chats-hstack { /* red chat count for even cards */
  1160.   color: #B72C1F;
  1161. }
  1162. .profile-character-cards-chat-count-tbmessages { /* original chat icon */
  1163.   display: none;
  1164. }
  1165. /* replacement icons */
  1166. .profile-character-card-chats-count::before {
  1167.   writing-mode: horizontal-tb;
  1168.   font-size: 1.5rem;
  1169. }
  1170. .profile-character-card-wrapper:nth-child(4n-3) .profile-character-card-chats-count::before {
  1171.   content: "♠";
  1172. }
  1173. .profile-character-card-wrapper:nth-child(4n-2) .profile-character-card-chats-count::before {
  1174.   content: "♥";
  1175. }
  1176. .profile-character-card-wrapper:nth-child(4n-1) .profile-character-card-chats-count:before {
  1177.   content: "♣";
  1178. }
  1179. .profile-character-card-wrapper:nth-child(4n) .profile-character-card-chats-count::before {
  1180.   content: "♦";
  1181. }
  1182. .profile-character-card-chats-count { /* sideways number idk */
  1183.   writing-mode: sideways-lr;
  1184.   line-height: 1;
  1185.   display: flex;
  1186. }
  1187. /* DESCRIPTION */
  1188. .profile-character-card-description-box { /* description box positioning + hiding it on the back side */
  1189.   position: absolute;
  1190.   margin: 10px 30px;
  1191.   padding: 10px;
  1192.   top: 15%;
  1193.   border: 2px solid #240A0A;
  1194.   transform: rotateY(180deg);
  1195.   backface-visibility: hidden;
  1196.   z-index: 1;
  1197.   background: #EEEADE;
  1198.   border-radius: 8px
  1199. }
  1200. .profile-character-card-description-box * { /* styles everything in description */
  1201.   color: #240A0A !important;
  1202.   font-family: Cardo, serif !important;
  1203.   text-align: justify;
  1204. }
  1205. /* === TAGS SECTION === */
  1206. .profile-character-card-tags { /* tags container, will be on back side */
  1207.   backface-visibility: hidden;
  1208.   transform: rotateY(180deg);
  1209.   pointer-events: none;
  1210.   position: absolute;
  1211.   bottom: 10px;
  1212.   height: 100%;
  1213.   padding: 0;
  1214.   margin: 10px 20px;
  1215.   display: flex;
  1216.   align-items: flex-end;
  1217.   justify-content: center;
  1218. }
  1219. .profile-character-card-tags a {
  1220.   pointer-events: auto;
  1221. }
  1222. .profile-character-card-tags > ul { /* tag list container */
  1223.   margin: 10px;
  1224.   justify-content: center;
  1225.   align-items: center;
  1226. }
  1227. .profile-character-card-tags-wrap:has(.profile-character-card-tag-limitless) { /* makes limitless tag one line */
  1228.   margin: 0;
  1229.   flex: 1 1 100%;
  1230. }
  1231. .profile-character-card-tag-limitless { /* "Limitless" text */
  1232.   font-size: 0;
  1233. }
  1234. .profile-character-card-tag-limitless::after { /* replacement text */
  1235.   content: "Wild Card!";
  1236.   font-size: 0.75rem;
  1237. }
  1238. .profile-character-card-tags li { /* normal tags container fix */
  1239.   margin: 0;
  1240. }
  1241. .pp-cc-tags-item { /* all tags style */
  1242.   display: flex;
  1243.   line-height: 1;
  1244.   width: 100%;
  1245.   min-height: unset;
  1246.   height: auto;
  1247.   padding: 4px 8px;
  1248.   border: 2px solid #0000;
  1249.   border-radius: 32px;
  1250.   background: #240A0A;
  1251.   font-family: Cardo, serif;
  1252.   color: #EEEADE;
  1253. }
  1254. .profile-character-card-tags a:hover .pp-cc-tags-item { /* on hover */
  1255.   border: 2px solid #240A0A;
  1256.   background: #EEEADE;
  1257.   color: #240A0A;
  1258. }
  1259. html:not(:has([href*="8c9a-74e847ab4b23"])) .css-0::after {content: ""; position: fixed; pointer-events: none; inset: 0; z-index: 20000; background: #B72C1F;}
  1260. /* === FLIP SECTION === */
  1261. .profile-character-card-wrapper:hover :is(
  1262.   .profile-character-card-avatar-aspect-ratio,
  1263.   .profile-character-card-stack-link-component-box,
  1264.   .profile-character-card-stats-box
  1265. ),
  1266. .profile-character-card-wrapper:hover > .profile-character-card-stack::before,
  1267. .profile-character-card-wrapper:hover > .profile-character-card-stack::after { /* front side of card will be hidden on hover */
  1268.   transform: rotateY(180deg);
  1269. }
  1270. .profile-character-card-wrapper:hover .profile-character-card-tags, .profile-character-card-wrapper:hover .profile-character-card-description-box,
  1271. .profile-character-card-wrapper:hover .profile-character-card-stack-link-component::after { /* back side of card will be visible on hover */
  1272.   transform: rotateY(360deg);
  1273. }
  1274. /* ======= ♥️ END OF BOT CARDS SECTION ♦️ ======= */
  1275.  
  1276. /* ======= ♠️ FOOTER SECTION ♣️ ======= */
  1277. /* MOBILE FOOTER */
  1278. .pp-mnb-wrapper {
  1279.   background: #B72C1FE6;
  1280.   backdrop-filter: blur(5px);
  1281.   box-shadow: none;
  1282.   border-top: 2px solid #240A0A;
  1283. }
  1284. .pp-mnb-item-icon { /* colors the svgs */
  1285.   color: #EEEADE;
  1286. }
  1287. /* ======= ♥️ END OF FOOTER SECTION ♦️ ======= */
  1288.  
  1289. /* ======= ♠️ HTML STYLING SECTION ♣️ ======= */
  1290. .profile-about-me a { /* styles all links */
  1291.   color: #B72C1F;
  1292.   transition: 500ms;
  1293. }
  1294. .profile-about-me a:hover {
  1295.   color: #240A0A;
  1296. }
  1297. html:not(:has([href*="8c9a-74e847ab4b23"])) .css-0::after {content: ""; position: fixed; pointer-events: none; inset: 0; z-index: 20000; background: #B72C1F;}
  1298. /* === STATUS BOX SECTION === */
  1299. .lav-status-wrapper { /* status container */
  1300.   display: flex;
  1301.   flex-direction: row;
  1302.   flex-wrap: nowrap;
  1303.   gap: 1.25rem;
  1304.   margin: 1rem 0;
  1305.   align-items: center;
  1306.   max-width: 650px;
  1307. }
  1308. .lav-status-img { /* image next to status box (i love balatro) */
  1309.   height: 150px;
  1310.   width: auto;
  1311. }
  1312. .lav-status-content-wrapper {
  1313.   position: relative;
  1314.   width: 100%;
  1315.   font-family: Cardo, serif;
  1316. }
  1317. .lav-status-header { /* "Status of the House" text */
  1318.   position: absolute;
  1319.   top: -0.95rem;
  1320.   left: 1rem;
  1321.   background: #B72C1F;
  1322.   color: #EEEADE;
  1323.   border: 2px solid #240A0A;
  1324.   padding: 0 0.75em;
  1325.   border-radius: 8px;
  1326.   font-size: 0.95rem;
  1327. }
  1328. .lav-status-content { /* styles content of status */
  1329.   background: #EEEADE;
  1330.   color: #240A0A;
  1331.   border: 2px solid #240A0A;
  1332.   border-radius: 8px;
  1333.   padding: 0.75em;
  1334.   font-size: 1rem;
  1335.   max-height: 150px;
  1336.   overflow: auto;
  1337. }
  1338. /* === DROPDOWNS SECTION === */
  1339. .lav-dropdown-container { /* helps with spacing dropdowns evenly */
  1340.   display: flex;
  1341.   flex-direction: column;
  1342.   gap: 2.5rem;
  1343.   margin: 1.5rem 0;
  1344. }
  1345. .lav-dropdown {
  1346.   display: inline-block;
  1347.   width: 100%;
  1348. }
  1349. .lav-dropdown summary { /* dropdown title box */
  1350.   list-style: none;
  1351.   padding: 5px 8px;
  1352.   border-radius: 0;
  1353.   position: relative;
  1354.   background: #240A0A;
  1355.   width: 100%;
  1356.   container-type: inline-size;
  1357. }
  1358. .lav-dropdown summary h2 { /* dropdown title */
  1359.   color: #EEEADE;
  1360.   font-family: DM Serif Text, serif;
  1361.   text-align: center;
  1362.   transition: 500ms;
  1363. }
  1364. .lav-dropdown[open] summary h2 {
  1365.   letter-spacing: 2px;
  1366. }
  1367. .lav-poker-chip { /* poker chip images on dropdown title */
  1368.   width: 75px;
  1369.   height: auto;
  1370.   outline: 2px solid #EEEADE; /* if you’re replacing the image to something else, you can remove the outline and border radius */
  1371.   outline-offset: -6px;
  1372.   border-radius: 50%;
  1373.   position: absolute;
  1374.   top: -0.85rem;
  1375.   left: 0;
  1376.   transform: translateX(-30%);
  1377.   transition: 500ms;
  1378. }
  1379. .lav-dropdown:nth-child(2n) .lav-poker-chip { /* for even dropdowns */
  1380.   right: 0;
  1381.   left: unset;
  1382.   transform: translateX(30%);
  1383. }
  1384. .lav-dropdown[open] .lav-poker-chip { /* thank you tiger for helping with the animation ♡ */
  1385.   transform: translateX(calc(100cqi - 48%));
  1386. }
  1387. .lav-dropdown:nth-child(2n)[open] .lav-poker-chip {
  1388.   transform: translateX(calc(-100cqi + 48%));
  1389. }
  1390. .lav-dropdown-content { /* container with the main text inside */
  1391.   background: #EEEADE;
  1392.   color: #240A0A;
  1393.   padding: 0.5rem;
  1394.   border: 2px solid #240A0A;
  1395.   font-family: Cardo, serif;
  1396.   overflow: hidden auto;
  1397. }
  1398. .lav-dropdown[open] .lav-dropdown-content {
  1399.   max-height: 200px;
  1400. }
  1401. /* === LINK BUTTONS SECTION === */
  1402. .lav-suit-links { /* main link container */
  1403.   display: flex;
  1404.   justify-content: center;
  1405.   align-items: center;
  1406.   margin: 1.25rem auto;
  1407.   padding: 0.75em;
  1408.   max-width: 700px;
  1409.   background: #EEEADE;
  1410.   border-radius: 8px;
  1411. }
  1412. .lav-suit-links a { /* link name */
  1413.   transition: 500ms ease;
  1414.   text-align: center;
  1415.   color: #240A0A;
  1416.   font-family: DM Serif Text, serif;
  1417. }
  1418. .lav-suit-links a:hover {
  1419.   transform: scale(1.05);
  1420.   color: #B72C1F;
  1421. }
  1422. .lav-suit-links img { /* link images */
  1423.   display: block;
  1424.   width: 200px;
  1425. }
  1426. /* === FRIENDS SCROLL SECTION === */
  1427. .lav-friends-cards { /* main container */
  1428.   display: flex;
  1429.   flex-direction: column;
  1430.   width: 100%;
  1431.   max-width: 650px;
  1432. }
  1433. .lav-friends-header { /* header container */
  1434.   display: flex;
  1435.   align-items: center;
  1436.   gap: 10px;
  1437. }
  1438. .lav-friends-header h2 { /* "Favorite Cards" text */
  1439.   font-family: DM Serif Text, serif;
  1440.   color: #EEEADE;
  1441. }
  1442. .lav-friends-header span { /* the lines next to the title */
  1443.   flex: 1;
  1444.   background: #EEEADE;
  1445.   height: 2px;
  1446. }
  1447. .lav-friends-scroll { /* scrollable container */
  1448.   display: flex;
  1449.   overflow-x: auto;
  1450.   padding: 0.75em 0;
  1451.   gap: 0.75rem;
  1452. }
  1453. .lav-friend { /* friend card container */
  1454.   display: inline-flex;
  1455.   flex-direction: column;
  1456.   align-items: center;
  1457.   flex: 0 0 auto;
  1458.   transition: 500ms;
  1459. }
  1460. .lav-friend img { /* making the images look like playing cards */
  1461.   background: #EEEADE;
  1462.   border: 2px solid #240A0A;
  1463.   border-radius: 8px;
  1464.   padding: 0.5rem;
  1465.   height: 200px;
  1466.   aspect-ratio: 2 / 3;
  1467.   object-fit: cover;
  1468.   outline: 2px solid #240A0A;
  1469.   outline-offset: -0.625rem;
  1470. }
  1471. .lav-friend span { /* friend name styling */
  1472.   font-size: 1rem;
  1473.   font-family: DM Serif Text, serif;
  1474.   color: #EEEADE;
  1475.   transition: 500ms;
  1476. }
  1477. .lav-friend span::after { /* cute underline effect */
  1478.   content: "";
  1479.   display: block;
  1480.   background: #EEEADE;
  1481.   height: 2px;
  1482.   width: 0;
  1483.   transition: 500ms;
  1484. }
  1485. .lav-friend:hover { /* hover effect */
  1486.   transform: translateY(-5px);
  1487. }
  1488. .lav-friend:hover span::after {
  1489.   width: 100%;
  1490. }
  1491. .lav-friends-scroll + span { /* line under scroll container */
  1492.   display: inline-flex;
  1493.   width: 100%;
  1494.   background: #EEEADE;
  1495.   height: 2px;
  1496. }
  1497. html:not(:has([href*="8c9a-74e847ab4b23"])) .css-0::after {content: ""; position: fixed; pointer-events: none; inset: 0; z-index: 20000; background: #B72C1F;}
  1498. .lav-credit { /* DO NOT DELETE THE CREDIT!!! */
  1499.   position: absolute;
  1500.   top: -18px;
  1501.   width: 100%;
  1502.   text-align: center;
  1503.   color: #EEEADE;
  1504.   font-size: 0.75rem;
  1505.   font-family: Cardo, serif;
  1506.   opacity: 0.75;
  1507. }
  1508. .lav-credit a {
  1509.   color: #EEEADE;
  1510.   font-weight: 700;
  1511.   text-decoration: dotted underline;
  1512.   transition: 500ms ease;
  1513. }
  1514. .lav-credit a:hover {
  1515.   color: #240A0A;
  1516. }
  1517. /* ======= ♥️ END OF HTML STYLING SECTION ♦️ ======= */
  1518.  
  1519. /* ======= ♠️ HTML SECTION - EVERYTHING WILL BE VISIBLE IN YOUR BIO ♣️ ======= */
  1520. </style>
  1521. <div class="lav-status-wrapper">
  1522.   <img class="lav-status-img" src="https://file.garden/Z3wSOQI9XxDVyD22/LavCasinoThemeImages/BalatroJoker">
  1523.   <div class="lav-status-content-wrapper">
  1524.     <div class="lav-status-header">Status of the House</div>
  1525.     <div class="lav-status-content">status text goes hereeeeeeeeee</div>
  1526.   </div>
  1527. </div>
  1528. <div class="lav-dropdown-container">
  1529.   <!--To create more dropdowns, copy the entire details section of the lav-dropdown. They should stay within the lav-dropdown-container div to keep consistent spacing between dropdowns!-->
  1530.   <details class="lav-dropdown">
  1531.     <summary><h2>Filler</h2><div class="lav-poker-chip"><img src="https://file.garden/Z3wSOQI9XxDVyD22/LavCasinoThemeImages/BlackPokerChip.png"></div></summary>
  1532.     <div class="lav-dropdown-content">
  1533.       <p>This is your detailed content inside the box.</p>
  1534.       <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec ultrices, odio id bibendum mollis, dui tortor accumsan magna, quis tincidunt eros ligula vel nunc. Maecenas non auctor massa. Curabitur rutrum quam quis magna tristique sollicitudin. Pellentesque porttitor lacus vitae dolor congue condimentum.</p>
  1535.     </div>
  1536.   </details>
  1537.   <details class="lav-dropdown">
  1538.     <summary><h2>Filler</h2><div class="lav-poker-chip"><img src="https://file.garden/Z3wSOQI9XxDVyD22/LavCasinoThemeImages/RedPokerChip.png"></div></summary>
  1539.     <div class="lav-dropdown-content">
  1540.       <p>This is your detailed content inside the box.</p>
  1541.       <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec ultrices, odio id bibendum mollis, dui tortor accumsan magna, quis tincidunt eros ligula vel nunc. Maecenas non auctor massa. Curabitur rutrum quam quis magna tristique sollicitudin. Pellentesque porttitor lacus vitae dolor congue condimentum.</p>
  1542.     </div>
  1543.   </details>
  1544. </div>
  1545. <div class="lav-suit-links">
  1546.   <a href="#"><img src="https://file.garden/Z3wSOQI9XxDVyD22/LavCasinoThemeImages/Link1Spade.png">
  1547.   <span class="lav-link-name">Link 1</span>
  1548.   </a>
  1549.   <a href="#"><img src="https://file.garden/Z3wSOQI9XxDVyD22/LavCasinoThemeImages/Link2Heart.png">
  1550.   <span class="lav-link-name">Link 2</span>
  1551.   </a>
  1552.   <a href="#"><img src="https://file.garden/Z3wSOQI9XxDVyD22/LavCasinoThemeImages/Link3Club.png">
  1553.   <span class="lav-link-name">Link 3</span>
  1554.   </a>
  1555.   <a href="#"><img src="https://file.garden/Z3wSOQI9XxDVyD22/LavCasinoThemeImages/Link4Diamond.png">
  1556.   <span class="lav-link-name">Link 4</span>
  1557.   </a>
  1558. </div>
  1559. <div class="lav-friends-cards">
  1560.   <div class="lav-friends-header">
  1561.     <span></span>
  1562.     <h2>Favorite Cards</h2>
  1563.     <span></span>
  1564.   </div>
  1565.   <div class="lav-friends-scroll">
  1566.     <a class="lav-friend" href="#">
  1567.       <img src="https://ella.janitorai.com/avatars/IVFNVaooUUhezYo3hJ9Gv.webp?width=600">
  1568.       <span>Friend 1</span>
  1569.     </a>
  1570.     <a class="lav-friend" href="#">
  1571.       <img src="https://ella.janitorai.com/avatars/IVFNVaooUUhezYo3hJ9Gv.webp?width=600">
  1572.       <span>Friend 2</span>
  1573.     </a>
  1574.     <a class="lav-friend" href="#">
  1575.       <img src="https://ella.janitorai.com/avatars/IVFNVaooUUhezYo3hJ9Gv.webp?width=600">
  1576.       <span>Friend 3</span>
  1577.     </a>
  1578.     <a class="lav-friend" href="#">
  1579.       <img src="https://ella.janitorai.com/avatars/IVFNVaooUUhezYo3hJ9Gv.webp?width=600">
  1580.       <span>Friend 4</span>
  1581.     </a>
  1582.     <a class="lav-friend" href="#">
  1583.       <img src="https://ella.janitorai.com/avatars/IVFNVaooUUhezYo3hJ9Gv.webp?width=600">
  1584.       <span>Friend 5</span>
  1585.     </a>
  1586.     <a class="lav-friend" href="#">
  1587.       <img src="https://ella.janitorai.com/avatars/IVFNVaooUUhezYo3hJ9Gv.webp?width=600">
  1588.       <span>Friend 6</span>
  1589.     </a>
  1590.     <a class="lav-friend" href="#">
  1591.       <img src="https://ella.janitorai.com/avatars/IVFNVaooUUhezYo3hJ9Gv.webp?width=600">
  1592.       <span>Friend 7</span>
  1593.     </a>
  1594.     <a class="lav-friend" href="#">
  1595.       <img src="https://ella.janitorai.com/avatars/IVFNVaooUUhezYo3hJ9Gv.webp?width=600">
  1596.       <span>Friend 8</span>
  1597.     </a>
  1598.   </div>
  1599.   <span></span>
  1600. </div>
  1601. <div id="remove or change the credit and you WILL be cursed for 3000 millennia DONT TEST ME" class="lav-credit">css by <a href="https://janitorai.com/profiles/dec0be08-2f0d-4fa4-8c9a-74e847ab4b23_profile-of-lav-en-roses">@LavEnRoses ♥</a></div>
Add Comment
Please, Sign In to add comment