add everything
This commit is contained in:
247
css/pages/OLDLISTCSS.css
Normal file
247
css/pages/OLDLISTCSS.css
Normal file
@@ -0,0 +1,247 @@
|
||||
.page-list .list-container,
|
||||
.page-list .level-container,
|
||||
.page-list .meta-container {
|
||||
padding-block: 2rem;
|
||||
}
|
||||
.page-list .list-container {
|
||||
padding-inline: 1rem;
|
||||
overflow-y: auto;
|
||||
}
|
||||
.page-list .meta-container {
|
||||
padding-right: 2rem;
|
||||
}
|
||||
|
||||
.page-list .sul-label {
|
||||
position: relative;
|
||||
padding-left: 1rem;
|
||||
font-size: medium;
|
||||
}
|
||||
|
||||
.page-list .sul-info-label {
|
||||
margin-top: 2rem;
|
||||
margin-bottom: 1rem;
|
||||
}
|
||||
|
||||
.page-list .list {
|
||||
table-layout: auto;
|
||||
}
|
||||
.page-list .list .rank {
|
||||
text-align: end;
|
||||
padding-right: 1rem;
|
||||
}
|
||||
.page-list .list .level {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.page-list .list .rank-image .rank-trophy {
|
||||
height: 20px;
|
||||
}
|
||||
|
||||
.page-list .list-separator {
|
||||
text-align: center;
|
||||
padding: 1rem;
|
||||
}
|
||||
.page-list .list .level button {
|
||||
background: url(/assets/april-background.jpg) #00000094;
|
||||
background-blend-mode: multiply;
|
||||
background-position: center;
|
||||
background-size: cover;
|
||||
color: var(--color-on-background);
|
||||
border: none;
|
||||
border-radius: 1rem;
|
||||
padding: 2rem;
|
||||
text-align: start;
|
||||
word-break: normal;
|
||||
overflow-wrap: anywhere;
|
||||
cursor: pointer;
|
||||
margin-left: 0.5rem;
|
||||
width: 90%;
|
||||
margin-bottom: 0.5rem;
|
||||
transition: filter 0.15s ease;
|
||||
}
|
||||
|
||||
.page-list .list .level.error button {
|
||||
color: var(--color-error);
|
||||
cursor: not-allowed;
|
||||
text-decoration: line-through;
|
||||
}
|
||||
.page-list .list .level button:hover {
|
||||
background-color: var(--color-background-hover);
|
||||
color: var(--color-on-background-hover);
|
||||
cursor: pointer;
|
||||
filter: brightness(1.35);
|
||||
outline: 1px solid #d3b03c;
|
||||
}
|
||||
.page-list .list .level.active button {
|
||||
background-color: var(--color-primary);
|
||||
color: var(--color-on-primary);
|
||||
filter: brightness(1.6);
|
||||
outline: 2px solid #ffd54a;
|
||||
box-shadow: 0 0 10px rgba(255,213,74,0.5);
|
||||
}
|
||||
.page-list .level-container .level {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 2rem;
|
||||
padding-right: 2rem;
|
||||
max-width: 48rem;
|
||||
}
|
||||
|
||||
/* light mode rate colors */
|
||||
|
||||
.page-list .level-container .level .good {
|
||||
background: linear-gradient(to right, #424242, #727272);
|
||||
-webkit-background-clip: text;
|
||||
background-clip: text;
|
||||
color: transparent;
|
||||
}
|
||||
|
||||
.page-list .level-container .level .great {
|
||||
background: linear-gradient(to right, #363636, #5e5e5e);
|
||||
-webkit-background-clip: text;
|
||||
background-clip: text;
|
||||
color: transparent;
|
||||
text-shadow: 0px 0px 2px #ffffff99;
|
||||
}
|
||||
|
||||
.page-list .level-container .level .peak {
|
||||
background: linear-gradient(to right, #5f5f5f, #9e9e9e);
|
||||
-webkit-background-clip: text;
|
||||
background-clip: text;
|
||||
color: transparent;
|
||||
text-shadow: 0px 0px 5px #ffffffbb;
|
||||
}
|
||||
|
||||
.page-list .level-container .level .level-authors {
|
||||
display: grid;
|
||||
grid-template-columns: max-content 1fr;
|
||||
grid-auto-rows: max-content;
|
||||
gap: 1rem;
|
||||
}
|
||||
.page-list .level-container .level .video {
|
||||
aspect-ratio: 16/9;
|
||||
}
|
||||
.page-list .level-container .level .stats {
|
||||
display: flex;
|
||||
justify-content: space-evenly;
|
||||
text-align: center;
|
||||
gap: 2rem;
|
||||
}
|
||||
.page-list .level-container .level .stats li {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
gap: 1rem;
|
||||
}
|
||||
.page-list .level-container .level .packs {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
gap: 0.4em;
|
||||
}
|
||||
.page-list .level-container .level .packs .tag {
|
||||
display: flex;
|
||||
flex-shrink: 0;
|
||||
background-size: 100% 100% !important;
|
||||
}
|
||||
.tag {
|
||||
border-radius: 7px;
|
||||
}
|
||||
.page-list .meta-container .meta .records {
|
||||
table-layout: fixed;
|
||||
}
|
||||
.page-list .meta-container .meta .records tr td:not(:last-child) .tag{
|
||||
padding-right: 1rem;
|
||||
}
|
||||
.page-list .meta-container .meta .records .percent,
|
||||
.page-list .meta-container .meta .records .user,
|
||||
.page-list .meta-container .meta .records .user,
|
||||
.page-list .meta-container .meta .records .hz {
|
||||
padding: 1rem 1rem 1rem 0;
|
||||
}
|
||||
.page-list .meta-container .meta .records .user {
|
||||
width: 100%;
|
||||
}
|
||||
.page-list .meta-container .meta .records .userIcon {
|
||||
padding-right: 1rem;
|
||||
}
|
||||
.page-list .meta-container .meta .records .userIcon .ico {
|
||||
height: 1.5rem;
|
||||
}
|
||||
.page-list .meta-container .meta .records .percent,
|
||||
.page-list .meta-container .meta .records .hz {
|
||||
text-align: end;
|
||||
}
|
||||
.page-list .meta-container .og a:hover,
|
||||
.page-list .meta-container .meta .records a:hover {
|
||||
text-decoration: underline;
|
||||
}
|
||||
.page-list .meta {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 2rem;
|
||||
}
|
||||
.page-list .meta .errors {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 1rem;
|
||||
}
|
||||
.page-list .meta .errors .error {
|
||||
padding: 1rem;
|
||||
background-color: var(--color-error);
|
||||
color: var(--color-on-error);
|
||||
border-radius: 0.5rem;
|
||||
}
|
||||
.page-list .meta .editors {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 0.75rem;
|
||||
}
|
||||
.page-list .meta .promote {
|
||||
padding: 1rem;
|
||||
background-color: var(--color-primary);
|
||||
color: var(--color-on-primary);
|
||||
border-radius: 0.5rem;
|
||||
}
|
||||
.page-list .meta .editors li {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 0.5rem;
|
||||
}
|
||||
.page-list .meta .editors li img {
|
||||
height: 1.25rem;
|
||||
}
|
||||
.page-list .meta .editors li a:hover {
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
/* Shitty */
|
||||
|
||||
.shitty .page-list .list .level button {
|
||||
background-color: transparent;
|
||||
padding: 1rem 0;
|
||||
}
|
||||
|
||||
|
||||
.shitty .page-list .list .level button:hover {
|
||||
background-color: #eee;
|
||||
color: orange !important;
|
||||
}
|
||||
|
||||
.shitty .page-list .list .level.active button {
|
||||
background-color: transparent;
|
||||
color: orange;
|
||||
}
|
||||
|
||||
.tag {
|
||||
font-family: "Lexend Deca", sans-serif;
|
||||
display:block;
|
||||
border-radius: 14px;
|
||||
padding: 7px;
|
||||
}
|
||||
|
||||
.search-highlight{
|
||||
background: #ffd54a;
|
||||
color: #000;
|
||||
padding: 0 2px;
|
||||
border-radius: 3px;
|
||||
}
|
||||
736
css/pages/card_list.css
Normal file
736
css/pages/card_list.css
Normal file
@@ -0,0 +1,736 @@
|
||||
/* ============================================================
|
||||
Card List Layout (store.pointercrateLayout = false)
|
||||
All rules prefixed .cl- or .page-list-cards to avoid bleed
|
||||
============================================================ */
|
||||
|
||||
/* ── Page shell ── */
|
||||
.page-list-cards {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
width: 100%;
|
||||
min-height: 100vh;
|
||||
padding: 2rem 1rem 6rem;
|
||||
box-sizing: border-box;
|
||||
/* don't let parent overflow:hidden clip the dropdown */
|
||||
overflow: visible;
|
||||
}
|
||||
|
||||
/* ── Toolbar (search + filter) ── */
|
||||
.cl-toolbar {
|
||||
display: flex;
|
||||
flex-shrink: 0;
|
||||
gap: 10px;
|
||||
align-items: center;
|
||||
width: 100%;
|
||||
max-width: 860px;
|
||||
margin-bottom: 1.25rem;
|
||||
}
|
||||
|
||||
.cl-search {
|
||||
flex: 1;
|
||||
padding: 10px 14px;
|
||||
border-radius: 8px;
|
||||
border: none;
|
||||
background: #2a2a2a;
|
||||
color: #fff;
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
.cl-filter-btn {
|
||||
padding: 9px 16px;
|
||||
border-radius: 8px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 6px;
|
||||
background: #2a2a2a;
|
||||
color: #fff;
|
||||
border: none;
|
||||
cursor: pointer;
|
||||
font-size: 14px;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.cl-filter-dropdown {
|
||||
/* position + top/right/z-index are set via inline style from JS (Teleport) */
|
||||
width: 280px;
|
||||
background: #1e1e1e;
|
||||
border: 1px solid #444;
|
||||
border-radius: 10px;
|
||||
padding: 1rem;
|
||||
box-shadow: 0 8px 32px rgba(0,0,0,0.6);
|
||||
}
|
||||
|
||||
/* invisible full-screen backdrop so clicking outside closes the menu */
|
||||
.cl-menu-backdrop {
|
||||
position: fixed;
|
||||
inset: 0;
|
||||
z-index: 99998;
|
||||
}
|
||||
|
||||
/* dropdown sits above backdrop */
|
||||
.cl-filter-dropdown {
|
||||
z-index: 99999;
|
||||
}
|
||||
|
||||
.cl-filter-heading {
|
||||
font-size: 12px;
|
||||
color: #888;
|
||||
margin: 0 0 8px;
|
||||
text-transform: uppercase;
|
||||
letter-spacing: 0.08em;
|
||||
}
|
||||
|
||||
.cl-filter-label {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 8px;
|
||||
font-size: 14px;
|
||||
color: #fff;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.cl-filter-apply {
|
||||
width: 100%;
|
||||
padding: 9px;
|
||||
border-radius: 8px;
|
||||
background: #3a6ee8;
|
||||
color: #fff;
|
||||
border: none;
|
||||
font-size: 14px;
|
||||
font-weight: 500;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
/* ── Section labels ── */
|
||||
.cl-section-label {
|
||||
width: 100%;
|
||||
max-width: 860px;
|
||||
font-size: 12px;
|
||||
color: #666;
|
||||
margin-bottom: 0.5rem;
|
||||
letter-spacing: 0.04em;
|
||||
}
|
||||
|
||||
.cl-separator {
|
||||
width: 100%;
|
||||
max-width: 860px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 1rem;
|
||||
margin: 1.5rem 0 0.75rem;
|
||||
color: #888;
|
||||
font-size: 13px;
|
||||
letter-spacing: 0.1em;
|
||||
text-transform: uppercase;
|
||||
}
|
||||
|
||||
.cl-separator::before,
|
||||
.cl-separator::after {
|
||||
content: '';
|
||||
flex: 1;
|
||||
height: 1px;
|
||||
background: rgba(255,255,255,0.08);
|
||||
}
|
||||
|
||||
/* ── Card list container ── */
|
||||
.cl-list {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
gap: 10px;
|
||||
width: 100%;
|
||||
max-width: 860px;
|
||||
/* isolate the card stack so nothing inside can paint above the toolbar */
|
||||
isolation: isolate;
|
||||
z-index: 1;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
/* ── Individual card ── */
|
||||
.cl-card {
|
||||
position: relative;
|
||||
width: 100%;
|
||||
min-height: 90px;
|
||||
height: auto;
|
||||
border-radius: 10px;
|
||||
overflow: clip;
|
||||
border: 1px solid rgba(255,255,255,0.06);
|
||||
display: flex;
|
||||
align-items: stretch;
|
||||
gap: 0;
|
||||
cursor: pointer;
|
||||
background: transparent;
|
||||
text-align: left;
|
||||
padding: 0;
|
||||
transition: border-color 0.15s ease, box-shadow 0.15s ease;
|
||||
}
|
||||
|
||||
/* Brightness overlay via pseudo-element — avoids filter: on the card itself,
|
||||
which would create a stacking context and let cards paint above the dropdown */
|
||||
.cl-card::after {
|
||||
content: '';
|
||||
position: absolute;
|
||||
inset: 0;
|
||||
background: transparent;
|
||||
transition: background 0.15s ease;
|
||||
pointer-events: none;
|
||||
z-index: 10;
|
||||
border-radius: inherit;
|
||||
}
|
||||
|
||||
.cl-card:hover {
|
||||
border-color: rgba(255,255,255,0.18);
|
||||
box-shadow: 0 8px 32px rgba(0,0,0,0.5);
|
||||
}
|
||||
|
||||
.cl-card:hover::after {
|
||||
background: rgba(255,255,255,0.05);
|
||||
}
|
||||
|
||||
.cl-card:active::after {
|
||||
background: rgba(0,0,0,0.12);
|
||||
}
|
||||
|
||||
.cl-card-legacy {
|
||||
opacity: 0.75;
|
||||
}
|
||||
|
||||
.cl-card-legacy:hover {
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
/* Blurred level thumbnail background */
|
||||
.cl-card-bg {
|
||||
position: absolute;
|
||||
inset: 0;
|
||||
background-size: cover;
|
||||
background-position: center;
|
||||
filter: blur(4px) brightness(0.2) saturate(0.6);
|
||||
transform: scale(1.08);
|
||||
transition: filter 0.3s ease;
|
||||
}
|
||||
|
||||
.cl-card:hover .cl-card-bg {
|
||||
filter: blur(3px) brightness(0.28) saturate(0.8);
|
||||
}
|
||||
|
||||
/* Dark gradient over the bg */
|
||||
.cl-card-tint {
|
||||
position: absolute;
|
||||
inset: 0;
|
||||
background: linear-gradient(
|
||||
90deg,
|
||||
rgba(0,0,0,0.0) 0%,
|
||||
rgba(0,0,0,0.3) 42%,
|
||||
rgba(0,0,0,0.15) 100%
|
||||
);
|
||||
}
|
||||
|
||||
/* YouTube thumbnail */
|
||||
.cl-card-yt {
|
||||
position: relative;
|
||||
z-index: 2;
|
||||
flex-shrink: 0;
|
||||
width: 142px;
|
||||
min-height: 90px;
|
||||
align-self: stretch;
|
||||
overflow: hidden;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
.cl-card-yt-img {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
object-fit: cover;
|
||||
display: block;
|
||||
}
|
||||
|
||||
.cl-card-yt-placeholder {
|
||||
background: rgba(0,0,0,0.3);
|
||||
}
|
||||
|
||||
/* Play icon overlay */
|
||||
.cl-card-yt-play {
|
||||
position: absolute;
|
||||
inset: 0;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
font-size: 22px;
|
||||
color: rgba(255,255,255,0.0);
|
||||
background: rgba(0,0,0,0.0);
|
||||
transition: all 0.2s;
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
.cl-card:hover .cl-card-yt-play {
|
||||
color: rgba(255,255,255,0.9);
|
||||
background: rgba(0,0,0,0.4);
|
||||
}
|
||||
|
||||
/* Vertical divider between thumbnail and text */
|
||||
.cl-card-yt::after {
|
||||
content: '';
|
||||
position: absolute;
|
||||
right: 0;
|
||||
top: 10%;
|
||||
height: 80%;
|
||||
width: 1px;
|
||||
background: rgba(255,255,255,0.08);
|
||||
}
|
||||
|
||||
/* Text info */
|
||||
.cl-card-info {
|
||||
position: relative;
|
||||
z-index: 2;
|
||||
flex: 1;
|
||||
min-width: 0;
|
||||
padding: 0.85rem 1rem 0.85rem 1.1rem;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 3px;
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
.cl-card-rank {
|
||||
font-size: 11px;
|
||||
font-weight: 700;
|
||||
letter-spacing: 0.12em;
|
||||
color: rgba(255,255,255,0.45);
|
||||
text-transform: uppercase;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 6px;
|
||||
}
|
||||
|
||||
.cl-legacy-badge {
|
||||
font-size: 10px;
|
||||
background: rgba(255,255,255,0.1);
|
||||
border-radius: 3px;
|
||||
padding: 1px 5px;
|
||||
letter-spacing: 0.06em;
|
||||
color: rgba(255,255,255,0.4);
|
||||
}
|
||||
|
||||
.cl-card-name {
|
||||
font-size: 17px;
|
||||
font-weight: 700;
|
||||
color: #fff;
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
line-height: 1.2;
|
||||
}
|
||||
|
||||
.cl-card-meta {
|
||||
font-size: 12px;
|
||||
color: rgba(255,255,255,0.45);
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 5px;
|
||||
flex-wrap: nowrap;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.cl-card-pts {
|
||||
color: #e8ff00;
|
||||
font-weight: 600;
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
.cl-card-dot {
|
||||
color: rgba(255,255,255,0.2);
|
||||
}
|
||||
|
||||
.cl-card-tags {
|
||||
display: flex;
|
||||
gap: 4px;
|
||||
flex-wrap: nowrap;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.cl-card-tag {
|
||||
font-size: 10px;
|
||||
background: rgba(255,255,255,0.1);
|
||||
color: rgba(255,255,255,0.55);
|
||||
border-radius: 3px;
|
||||
padding: 1px 6px;
|
||||
letter-spacing: 0.04em;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
/* Arrow chevron on right */
|
||||
.cl-card-arrow {
|
||||
position: relative;
|
||||
z-index: 2;
|
||||
font-size: 22px;
|
||||
color: rgba(255,255,255,0.2);
|
||||
padding: 0 1rem 0 0.5rem;
|
||||
flex-shrink: 0;
|
||||
transition: color 0.15s, transform 0.15s;
|
||||
}
|
||||
|
||||
.cl-card:hover .cl-card-arrow {
|
||||
color: rgba(255,255,255,0.7);
|
||||
transform: translateX(3px);
|
||||
}
|
||||
|
||||
/* ── Panel backdrop ── */
|
||||
.cl-panel-backdrop {
|
||||
position: fixed;
|
||||
inset: 0;
|
||||
z-index: 500;
|
||||
background: rgba(0,0,0,0.55);
|
||||
backdrop-filter: blur(6px);
|
||||
-webkit-backdrop-filter: blur(6px);
|
||||
display: flex;
|
||||
align-items: flex-start;
|
||||
justify-content: flex-end;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
/* ── Side panel ── */
|
||||
.cl-panel {
|
||||
position: relative;
|
||||
width: min(560px, 100vw);
|
||||
height: 100vh;
|
||||
overflow-y: auto;
|
||||
overflow-x: hidden;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
background: #13161b;
|
||||
box-shadow: -12px 0 60px rgba(0,0,0,0.7);
|
||||
}
|
||||
|
||||
/* Panel slide-in transition */
|
||||
.cl-panel-slide-enter-active {
|
||||
transition: transform 0.32s cubic-bezier(0.22, 1, 0.36, 1), opacity 0.2s ease;
|
||||
}
|
||||
.cl-panel-slide-leave-active {
|
||||
transition: transform 0.25s cubic-bezier(0.55, 0, 1, 0.45), opacity 0.2s ease;
|
||||
}
|
||||
.cl-panel-slide-enter-from,
|
||||
.cl-panel-slide-leave-to {
|
||||
transform: translateX(100%);
|
||||
opacity: 0;
|
||||
}
|
||||
|
||||
/* ── Close button ── */
|
||||
.cl-panel-close {
|
||||
position: absolute;
|
||||
top: 0.9rem;
|
||||
right: 0.9rem;
|
||||
z-index: 20;
|
||||
width: 32px;
|
||||
height: 32px;
|
||||
border-radius: 50%;
|
||||
background: rgba(0,0,0,0.5);
|
||||
border: 1px solid rgba(255,255,255,0.15);
|
||||
color: rgba(255,255,255,0.8);
|
||||
font-size: 13px;
|
||||
cursor: pointer;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
transition: background 0.2s, color 0.2s;
|
||||
line-height: 1;
|
||||
}
|
||||
|
||||
.cl-panel-close:hover {
|
||||
background: rgba(255,255,255,0.15);
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
/* ── Hero banner ── */
|
||||
.cl-panel-hero {
|
||||
position: relative;
|
||||
height: 220px;
|
||||
background-size: cover;
|
||||
background-position: center;
|
||||
background-color: #1a1d23;
|
||||
flex-shrink: 0;
|
||||
}
|
||||
|
||||
.cl-panel-hero-tint {
|
||||
position: absolute;
|
||||
inset: 0;
|
||||
background: linear-gradient(
|
||||
to bottom,
|
||||
rgba(0,0,0,0.15) 0%,
|
||||
rgba(0,0,0,0.55) 55%,
|
||||
rgba(19,22,27,1) 100%
|
||||
);
|
||||
}
|
||||
|
||||
.cl-panel-hero-info {
|
||||
position: absolute;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
padding: 1rem 1.5rem 1.25rem;
|
||||
}
|
||||
|
||||
.cl-panel-rank {
|
||||
display: inline-block;
|
||||
font-size: 11px;
|
||||
font-weight: 700;
|
||||
letter-spacing: 0.18em;
|
||||
color: rgba(255,255,255,0.45);
|
||||
text-transform: uppercase;
|
||||
margin-bottom: 0.3rem;
|
||||
}
|
||||
|
||||
.cl-panel-title {
|
||||
font-size: 1.75rem;
|
||||
font-weight: 800;
|
||||
color: #fff;
|
||||
margin: 0 0 0.5rem;
|
||||
line-height: 1.15;
|
||||
/* drop shadow so it reads over any background */
|
||||
text-shadow: 0 2px 12px rgba(0,0,0,0.8);
|
||||
}
|
||||
|
||||
/* Override LevelAuthors styles inside the hero so they look clean */
|
||||
.cl-panel-hero-info .level-authors {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
gap: 0.35rem 0.75rem;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.cl-panel-hero-info .level-authors p,
|
||||
.cl-panel-hero-info .level-authors span,
|
||||
.cl-panel-hero-info .level-authors a {
|
||||
font-size: 12px !important;
|
||||
color: rgba(255,255,255,0.55) !important;
|
||||
text-shadow: 0 1px 6px rgba(0,0,0,0.8);
|
||||
text-transform: uppercase;
|
||||
letter-spacing: 0.06em;
|
||||
font-weight: 600;
|
||||
margin: 0 !important;
|
||||
line-height: 1.4;
|
||||
}
|
||||
|
||||
/* ── Panel body ── */
|
||||
.cl-panel-body {
|
||||
padding: 1.5rem 1.5rem 4rem;
|
||||
flex: 1;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 0;
|
||||
}
|
||||
|
||||
/* description quote */
|
||||
.cl-panel-body > p:first-child {
|
||||
font-size: 13px;
|
||||
color: rgba(255,255,255,0.45);
|
||||
font-style: italic;
|
||||
line-height: 1.6;
|
||||
margin: 0 0 1rem;
|
||||
padding-bottom: 1rem;
|
||||
border-bottom: 1px solid rgba(255,255,255,0.06);
|
||||
}
|
||||
|
||||
.cl-panel-body p {
|
||||
color: rgba(255,255,255,0.65);
|
||||
font-size: 14px;
|
||||
line-height: 1.65;
|
||||
margin: 0 0 0.6rem;
|
||||
}
|
||||
|
||||
/* section headings (Records, etc.) */
|
||||
.cl-panel-body h2 {
|
||||
font-size: 0.7rem;
|
||||
font-weight: 700;
|
||||
letter-spacing: 0.18em;
|
||||
text-transform: uppercase;
|
||||
color: rgba(255,255,255,0.35);
|
||||
margin: 1.75rem 0 0.75rem;
|
||||
padding-bottom: 0.4rem;
|
||||
border-bottom: 1px solid rgba(255,255,255,0.06);
|
||||
}
|
||||
|
||||
/* packs row */
|
||||
.cl-panel-body .packs {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
gap: 0.4rem;
|
||||
margin: 0.5rem 0 1rem;
|
||||
}
|
||||
|
||||
/* video */
|
||||
.cl-panel-body .video {
|
||||
width: 100%;
|
||||
aspect-ratio: 16/9;
|
||||
border-radius: 8px;
|
||||
border: none;
|
||||
margin: 0.5rem 0 1rem;
|
||||
background: #000;
|
||||
}
|
||||
|
||||
/* stats row */
|
||||
.cl-panel-body .stats {
|
||||
display: flex;
|
||||
gap: 0;
|
||||
list-style: none;
|
||||
padding: 0;
|
||||
margin: 0 0 0.5rem;
|
||||
border: 1px solid rgba(255,255,255,0.07);
|
||||
border-radius: 8px;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.cl-panel-body .stats li {
|
||||
flex: 1;
|
||||
padding: 0.75rem 1rem;
|
||||
border-right: 1px solid rgba(255,255,255,0.07);
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 0.2rem;
|
||||
}
|
||||
|
||||
.cl-panel-body .stats li:last-child {
|
||||
border-right: none;
|
||||
}
|
||||
|
||||
/* enjoyment bar inside the panel stats */
|
||||
.cl-panel-body .stats .enjoyment-stat {
|
||||
gap: 0.3rem;
|
||||
}
|
||||
|
||||
.cl-panel-body .enjoyment-bar-track {
|
||||
width: 75%;
|
||||
height: 3px;
|
||||
background: rgba(255,255,255,0.08);
|
||||
border-radius: 99px;
|
||||
overflow: hidden;
|
||||
margin-top: 2px;
|
||||
}
|
||||
|
||||
.cl-panel-body .enjoyment-bar-fill {
|
||||
height: 100%;
|
||||
border-radius: 99px;
|
||||
background: hsl(calc(var(--enjoyment, 0) * 1.2deg), 80%, 52%);
|
||||
box-shadow: 0 0 6px hsl(calc(var(--enjoyment, 0) * 1.2deg), 80%, 52%);
|
||||
transition: width 0.6s cubic-bezier(0.22, 1, 0.36, 1), background 0.6s ease;
|
||||
}
|
||||
|
||||
.cl-panel-body .stats .type-title-sm {
|
||||
font-size: 0.6rem;
|
||||
letter-spacing: 0.14em;
|
||||
text-transform: uppercase;
|
||||
color: rgba(255,255,255,0.35);
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
.cl-panel-body .stats p {
|
||||
font-size: 1rem;
|
||||
font-weight: 700;
|
||||
color: #fff;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
/* records table */
|
||||
.cl-panel-body .records {
|
||||
width: 100%;
|
||||
border-collapse: collapse;
|
||||
}
|
||||
|
||||
.cl-panel-body .records .record {
|
||||
border-bottom: 1px solid rgba(255,255,255,0.05);
|
||||
}
|
||||
|
||||
.cl-panel-body .records .record:last-child {
|
||||
border-bottom: none;
|
||||
}
|
||||
|
||||
.cl-panel-body .records td {
|
||||
padding: 0.5rem 0.25rem;
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
.cl-panel-body .records .percent p {
|
||||
font-size: 13px;
|
||||
font-weight: 700;
|
||||
color: rgba(255,255,255,0.5);
|
||||
margin: 0;
|
||||
min-width: 3rem;
|
||||
}
|
||||
|
||||
.cl-panel-body .records .ico {
|
||||
width: 36px;
|
||||
height: 36px;
|
||||
image-rendering: pixelated;
|
||||
border-radius: 4px;
|
||||
}
|
||||
|
||||
.cl-panel-body .records .user a {
|
||||
font-size: 14px;
|
||||
font-weight: 600;
|
||||
color: #fff;
|
||||
text-decoration: none;
|
||||
padding-left: 0.5rem;
|
||||
}
|
||||
|
||||
.cl-panel-body .records .user a:hover {
|
||||
color: #e8ff00;
|
||||
}
|
||||
|
||||
/* tabs (Verification / Showcase) */
|
||||
.cl-panel-body .tabs {
|
||||
display: flex;
|
||||
gap: 0.25rem;
|
||||
margin-bottom: 0.5rem;
|
||||
}
|
||||
|
||||
.cl-panel-body .tab {
|
||||
padding: 0.4rem 1rem;
|
||||
border-radius: 6px;
|
||||
border: 1px solid rgba(255,255,255,0.1);
|
||||
background: transparent;
|
||||
color: rgba(255,255,255,0.45);
|
||||
font-size: 13px;
|
||||
cursor: pointer;
|
||||
transition: all 0.15s;
|
||||
}
|
||||
|
||||
.cl-panel-body .tab.selected {
|
||||
background: rgba(255,255,255,0.1);
|
||||
color: #fff;
|
||||
border-color: rgba(255,255,255,0.2);
|
||||
}
|
||||
|
||||
/* ── Responsive ── */
|
||||
@media (max-width: 600px) {
|
||||
.cl-card {
|
||||
min-height: 80px;
|
||||
height: auto;
|
||||
}
|
||||
|
||||
.cl-card-yt {
|
||||
width: 110px;
|
||||
min-height: 80px;
|
||||
align-self: stretch;
|
||||
}
|
||||
|
||||
.cl-card-name {
|
||||
font-size: 15px;
|
||||
}
|
||||
|
||||
.cl-card-meta {
|
||||
font-size: 11px;
|
||||
}
|
||||
|
||||
.cl-panel {
|
||||
width: 100vw;
|
||||
}
|
||||
|
||||
.cl-panel-title {
|
||||
font-size: 1.5rem;
|
||||
}
|
||||
}
|
||||
718
css/pages/home.css
Normal file
718
css/pages/home.css
Normal file
@@ -0,0 +1,718 @@
|
||||
/* ====================================================
|
||||
Home.css — GD Demonlist Homepage
|
||||
Load this in your index.html alongside your other
|
||||
CSS files, e.g.: <link rel="stylesheet" href="css/Home.css">
|
||||
==================================================== */
|
||||
|
||||
@import url('https://fonts.googleapis.com/css2?family=Bebas+Neue&family=DM+Mono:wght@300;400;500&family=Syne:wght@400;600;800&display=swap');
|
||||
|
||||
/* ── Variables scoped to .home so they can't bleed ── */
|
||||
.home {
|
||||
--hbg: #080b0f;
|
||||
--hbg-2: #0d1117;
|
||||
--hsurface: #161d27;
|
||||
--hborder: rgba(255, 255, 255, 0.07);
|
||||
--haccent: #e8ff00;
|
||||
--haccent-2: #ff6b35;
|
||||
--hglow: rgba(232, 255, 0, 0.18);
|
||||
--htext: #f0f2f5;
|
||||
--hmuted: #6b7a8d;
|
||||
--hdim: #3d4a57;
|
||||
--hfont-d: 'Bebas Neue', sans-serif;
|
||||
--hfont-ui: 'Syne', sans-serif;
|
||||
--hfont-mono: 'DM Mono', monospace;
|
||||
--hr: 6px;
|
||||
--hr-lg: 12px;
|
||||
|
||||
background: var(--hbg);
|
||||
color: var(--htext);
|
||||
font-family: var(--hfont-ui);
|
||||
height: 100vh;
|
||||
position: relative;
|
||||
overflow-x: hidden;
|
||||
|
||||
/* reset any page-level margin/padding that might fight us */
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
display: block;
|
||||
}
|
||||
|
||||
/* ── Noise ── */
|
||||
.home .home-noise {
|
||||
pointer-events: none;
|
||||
position: fixed;
|
||||
inset: 0;
|
||||
z-index: 1000;
|
||||
opacity: 0.03;
|
||||
background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
|
||||
background-size: 200px 200px;
|
||||
}
|
||||
|
||||
/* ════════════ HERO ════════════ */
|
||||
.home .home-hero {
|
||||
position: relative;
|
||||
min-height: 100vh;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
padding: 6rem 2rem 4rem;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.home .home-hero-grid {
|
||||
position: absolute;
|
||||
inset: 0;
|
||||
background-image:
|
||||
linear-gradient(var(--hborder) 1px, transparent 1px),
|
||||
linear-gradient(90deg, var(--hborder) 1px, transparent 1px);
|
||||
background-size: 48px 48px;
|
||||
-webkit-mask-image: radial-gradient(ellipse 80% 80% at 50% 30%, black 30%, transparent 100%);
|
||||
mask-image: radial-gradient(ellipse 80% 80% at 50% 30%, black 30%, transparent 100%);
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
.home-hero-scroll {
|
||||
position: absolute;
|
||||
inset: 0;
|
||||
overflow: hidden;
|
||||
z-index: 0;
|
||||
}
|
||||
|
||||
.home-hero-track {
|
||||
display: flex;
|
||||
height: 100%;
|
||||
animation: scrollBg 60s linear infinite;
|
||||
}
|
||||
|
||||
.home-hero-tile {
|
||||
width: 80rem;
|
||||
height: 100%;
|
||||
background-size: cover;
|
||||
background-position: center;
|
||||
flex-shrink: 0;
|
||||
filter: brightness(0.2) blur(3px);
|
||||
margin-right: -80px; /* overlap */
|
||||
-webkit-mask-image: linear-gradient(
|
||||
to right,
|
||||
transparent,
|
||||
black 40%,
|
||||
black 60%,
|
||||
transparent
|
||||
);
|
||||
mask-image: linear-gradient(
|
||||
to right,
|
||||
transparent,
|
||||
black 40%,
|
||||
black 60%,
|
||||
transparent
|
||||
);
|
||||
}
|
||||
|
||||
/* smooth infinite scroll */
|
||||
@keyframes scrollBg {
|
||||
from {
|
||||
transform: translateX(0);
|
||||
}
|
||||
to {
|
||||
transform: translateX(-50%);
|
||||
}
|
||||
}
|
||||
|
||||
.home .home-hero-content {
|
||||
position: relative;
|
||||
z-index: 2;
|
||||
text-align: center;
|
||||
max-width: 720px;
|
||||
}
|
||||
|
||||
.home .home-eyebrow {
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
gap: 0.5rem;
|
||||
font-family: var(--hfont-mono);
|
||||
font-size: 0.7rem;
|
||||
letter-spacing: 0.25em;
|
||||
color: var(--hmuted);
|
||||
text-transform: uppercase;
|
||||
margin-bottom: 1.5rem;
|
||||
padding: 0.4rem 0.9rem;
|
||||
border: 1px solid var(--hborder);
|
||||
border-radius: 999px;
|
||||
background: rgba(255,255,255,0.02);
|
||||
}
|
||||
|
||||
.home .home-dot {
|
||||
width: 6px;
|
||||
height: 6px;
|
||||
border-radius: 50%;
|
||||
background: var(--haccent);
|
||||
flex-shrink: 0;
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
.home .home-dot-pulse {
|
||||
animation: homePulse 2s ease-in-out infinite;
|
||||
}
|
||||
|
||||
@keyframes homePulse {
|
||||
0%, 100% { box-shadow: 0 0 0 0 var(--hglow); opacity: 1; }
|
||||
50% { box-shadow: 0 0 0 6px transparent; opacity: 0.5; }
|
||||
}
|
||||
|
||||
.home .home-title {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
font-family: var(--hfont-d);
|
||||
font-size: clamp(5rem, 18vw, 13rem);
|
||||
line-height: 0.88;
|
||||
letter-spacing: -0.01em;
|
||||
margin: 0 0 2rem;
|
||||
color: var(--htext);
|
||||
}
|
||||
|
||||
.home .home-title-line {
|
||||
display: block;
|
||||
font-size: xx-large;
|
||||
font-style: italic;
|
||||
letter-spacing: 0.05em;
|
||||
}
|
||||
|
||||
.home .home-title-accent {
|
||||
color: var(--haccent);
|
||||
font-size: 12rem;
|
||||
text-shadow: 0 0 60px var(--hglow), 0 0 120px var(--hglow);
|
||||
}
|
||||
|
||||
.home .home-sub {
|
||||
font-size: 1rem;
|
||||
color: var(--hmuted);
|
||||
line-height: 1.7;
|
||||
max-width: 420px;
|
||||
margin: 0 auto 2.5rem;
|
||||
}
|
||||
|
||||
.home .home-actions {
|
||||
display: flex;
|
||||
gap: 1rem;
|
||||
justify-content: center;
|
||||
flex-wrap: wrap;
|
||||
}
|
||||
|
||||
/* Rings */
|
||||
.home .home-deco {
|
||||
position: absolute;
|
||||
inset: 0;
|
||||
pointer-events: none;
|
||||
z-index: 0;
|
||||
}
|
||||
|
||||
.home .home-ring {
|
||||
position: absolute;
|
||||
border-radius: 50%;
|
||||
border: 1px solid var(--hborder);
|
||||
top: 50%;
|
||||
left: 50%;
|
||||
transform: translate(-50%, -50%);
|
||||
}
|
||||
|
||||
.home .home-ring-1 { width: 480px; height: 480px; border-color: rgba(232,255,0,0.05); }
|
||||
.home .home-ring-2 { width: 720px; height: 720px; animation: homeRing 40s linear infinite; }
|
||||
.home .home-ring-3 { width: 960px; height: 960px; animation: homeRing 70s linear infinite reverse; }
|
||||
|
||||
@keyframes homeRing {
|
||||
to { transform: translate(-50%, -50%) rotate(360deg); }
|
||||
}
|
||||
|
||||
/* ════════════ BUTTONS ════════════ */
|
||||
.home .home-btn {
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
gap: 0.5rem;
|
||||
padding: 0.75rem 1.75rem;
|
||||
font-family: var(--hfont-ui);
|
||||
font-size: 0.85rem;
|
||||
font-weight: 600;
|
||||
letter-spacing: 0.05em;
|
||||
text-transform: uppercase;
|
||||
border-radius: var(--hr);
|
||||
text-decoration: none;
|
||||
cursor: pointer;
|
||||
transition: all 0.2s ease;
|
||||
border: none;
|
||||
line-height: 1;
|
||||
}
|
||||
|
||||
.home .home-btn-primary {
|
||||
background: var(--haccent);
|
||||
color: #000;
|
||||
}
|
||||
|
||||
.home .home-btn-primary:hover {
|
||||
background: #fff;
|
||||
transform: translateY(-2px);
|
||||
box-shadow: 0 8px 32px var(--hglow);
|
||||
}
|
||||
|
||||
.home .home-btn-ghost {
|
||||
background: transparent;
|
||||
color: var(--hmuted);
|
||||
border: 1px solid var(--hborder);
|
||||
}
|
||||
|
||||
.home .home-btn-ghost:hover {
|
||||
border-color: var(--haccent);
|
||||
color: var(--haccent);
|
||||
}
|
||||
|
||||
.home .home-btn-lg {
|
||||
padding: 1rem 2.5rem;
|
||||
font-size: 0.95rem;
|
||||
}
|
||||
|
||||
/* ════════════ STATS BAR ════════════ */
|
||||
.home .home-stats-bar {
|
||||
border-top: 1px solid var(--hborder);
|
||||
border-bottom: 1px solid var(--hborder);
|
||||
background: var(--hbg-2);
|
||||
}
|
||||
|
||||
.home .home-stats-inner {
|
||||
max-width: 960px;
|
||||
margin: 0 auto;
|
||||
display: grid;
|
||||
grid-template-columns: repeat(4, 1fr);
|
||||
}
|
||||
|
||||
.home .home-stat-item {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
padding: 2rem 1.5rem;
|
||||
border-right: 1px solid var(--hborder);
|
||||
gap: 0.3rem;
|
||||
transition: background 0.2s;
|
||||
}
|
||||
|
||||
.home .home-stat-item:last-child {
|
||||
border-right: none;
|
||||
}
|
||||
|
||||
.home .home-stat-item:hover {
|
||||
background: rgba(232,255,0,0.03);
|
||||
}
|
||||
|
||||
.home .home-stat-value {
|
||||
font-family: var(--hfont-d);
|
||||
font-size: 2.8rem;
|
||||
color: var(--haccent);
|
||||
line-height: 1;
|
||||
letter-spacing: 0.02em;
|
||||
}
|
||||
|
||||
.home .home-stat-label {
|
||||
font-family: var(--hfont-mono);
|
||||
font-size: 0.65rem;
|
||||
letter-spacing: 0.15em;
|
||||
text-transform: uppercase;
|
||||
color: var(--hmuted);
|
||||
}
|
||||
|
||||
/* ════════════ MEMBERS SECTION ════════════ */
|
||||
.home .home-members-section {
|
||||
padding: 6rem 2rem;
|
||||
}
|
||||
|
||||
.home .home-section-header {
|
||||
text-align: center;
|
||||
margin-bottom: 3rem;
|
||||
}
|
||||
|
||||
.home .home-section-title {
|
||||
font-family: var(--hfont-d);
|
||||
font-size: clamp(2.5rem, 6vw, 5rem);
|
||||
letter-spacing: 0.05em;
|
||||
margin: 0 0 0.4rem;
|
||||
color: var(--htext);
|
||||
}
|
||||
|
||||
.home .home-section-sub {
|
||||
font-family: var(--hfont-mono);
|
||||
font-size: 0.7rem;
|
||||
letter-spacing: 0.2em;
|
||||
color: var(--hmuted);
|
||||
text-transform: uppercase;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
/* ── Spotlight ── */
|
||||
.home .home-spotlight {
|
||||
position: relative;
|
||||
max-width: 960px;
|
||||
margin: 0 auto;
|
||||
border-radius: var(--hr-lg);
|
||||
overflow: hidden;
|
||||
min-height: 420px;
|
||||
border: 1px solid var(--hborder);
|
||||
}
|
||||
|
||||
.home .home-spotlight-bg {
|
||||
position: absolute;
|
||||
inset: 0;
|
||||
background-size: cover;
|
||||
background-position: center;
|
||||
filter: blur(3px) brightness(0.22) saturate(0.5);
|
||||
transform: scale(1.06);
|
||||
transition: background-image 0.5s ease;
|
||||
}
|
||||
|
||||
.home .home-spotlight-tint {
|
||||
position: absolute;
|
||||
inset: 0;
|
||||
background: linear-gradient(
|
||||
135deg,
|
||||
rgba(8,11,15,0.93) 0%,
|
||||
rgba(8,11,15,0.68) 55%,
|
||||
rgba(8,11,15,0.88) 100%
|
||||
);
|
||||
}
|
||||
|
||||
/* Pills */
|
||||
.home .home-pills {
|
||||
position: relative;
|
||||
z-index: 3;
|
||||
display: flex;
|
||||
gap: 0.5rem;
|
||||
padding: 1.25rem 1.5rem;
|
||||
overflow-x: auto;
|
||||
scrollbar-width: none;
|
||||
border-bottom: 1px solid var(--hborder);
|
||||
background: rgba(0,0,0,0.28);
|
||||
backdrop-filter: blur(8px);
|
||||
-webkit-backdrop-filter: blur(8px);
|
||||
}
|
||||
|
||||
.home .home-pills::-webkit-scrollbar {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.home .home-pill {
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
gap: 0.5rem;
|
||||
padding: 0.4rem 0.9rem;
|
||||
border-radius: 999px;
|
||||
border: 1px solid var(--hborder);
|
||||
background: rgba(255,255,255,0.04);
|
||||
color: var(--hmuted);
|
||||
font-family: var(--hfont-ui);
|
||||
font-size: 0.78rem;
|
||||
font-weight: 600;
|
||||
cursor: pointer;
|
||||
white-space: nowrap;
|
||||
transition: all 0.2s;
|
||||
}
|
||||
|
||||
.home .home-pill:hover {
|
||||
border-color: rgba(232,255,0,0.3);
|
||||
color: var(--htext);
|
||||
}
|
||||
|
||||
.home .home-pill.home-pill-active {
|
||||
background: var(--haccent);
|
||||
border-color: var(--haccent);
|
||||
color: #000;
|
||||
}
|
||||
|
||||
.home .home-pill-icon {
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
border-radius: 3px;
|
||||
image-rendering: pixelated;
|
||||
display: block;
|
||||
}
|
||||
|
||||
/* Card */
|
||||
.home .home-card {
|
||||
position: relative;
|
||||
z-index: 3;
|
||||
display: flex;
|
||||
gap: 2.5rem;
|
||||
padding: 2.5rem;
|
||||
align-items: flex-start;
|
||||
}
|
||||
|
||||
.home .home-card-left {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
gap: 0.75rem;
|
||||
min-width: 140px;
|
||||
flex-shrink: 0;
|
||||
}
|
||||
|
||||
.home .home-yt-link {
|
||||
position: relative;
|
||||
display: block;
|
||||
text-decoration: none;
|
||||
transition: transform 0.2s;
|
||||
}
|
||||
|
||||
.home .home-yt-link:hover {
|
||||
transform: scale(1.04);
|
||||
}
|
||||
|
||||
.home .home-yt-avatar,
|
||||
.home .home-icon-wrap img {
|
||||
width: 80px;
|
||||
height: 80px;
|
||||
border-radius: 50%;
|
||||
object-fit: cover;
|
||||
border: 2px solid var(--hborder);
|
||||
display: block;
|
||||
image-rendering: pixelated;
|
||||
}
|
||||
|
||||
.home .home-yt-badge {
|
||||
position: absolute;
|
||||
bottom: -4px;
|
||||
right: -4px;
|
||||
background: #ff0000;
|
||||
color: #fff;
|
||||
font-size: 0.55rem;
|
||||
font-family: var(--hfont-mono);
|
||||
padding: 0.15rem 0.35rem;
|
||||
border-radius: 3px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 0.25rem;
|
||||
letter-spacing: 0.05em;
|
||||
}
|
||||
|
||||
.home .home-card-name {
|
||||
font-family: var(--hfont-d);
|
||||
font-size: 1.8rem;
|
||||
letter-spacing: 0.04em;
|
||||
margin: 0;
|
||||
color: var(--htext);
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.home .home-card-role {
|
||||
font-family: var(--hfont-mono);
|
||||
font-size: 0.65rem;
|
||||
letter-spacing: 0.18em;
|
||||
text-transform: uppercase;
|
||||
color: var(--haccent);
|
||||
margin: 0;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.home .home-card-right {
|
||||
flex: 1;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 1.5rem;
|
||||
justify-content: center;
|
||||
padding-top: 0.5rem;
|
||||
}
|
||||
|
||||
.home .home-cstats {
|
||||
display: flex;
|
||||
gap: 1rem;
|
||||
flex-wrap: wrap;
|
||||
}
|
||||
|
||||
.home .home-cstat {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 0.2rem;
|
||||
padding: 0.8rem 1.2rem;
|
||||
border: 1px solid var(--hborder);
|
||||
border-radius: var(--hr);
|
||||
background: rgba(255,255,255,0.03);
|
||||
min-width: 90px;
|
||||
}
|
||||
|
||||
.home .home-cstat-val {
|
||||
font-family: var(--hfont-d);
|
||||
font-size: 1.6rem;
|
||||
color: var(--htext);
|
||||
line-height: 1;
|
||||
}
|
||||
|
||||
.home .home-cstat-key {
|
||||
font-family: var(--hfont-mono);
|
||||
font-size: 0.6rem;
|
||||
letter-spacing: 0.1em;
|
||||
text-transform: uppercase;
|
||||
color: var(--hmuted);
|
||||
}
|
||||
|
||||
.home .home-hardest {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 0.2rem;
|
||||
}
|
||||
|
||||
.home .home-hardest-label {
|
||||
font-family: var(--hfont-mono);
|
||||
font-size: 0.6rem;
|
||||
letter-spacing: 0.2em;
|
||||
text-transform: uppercase;
|
||||
color: var(--hdim);
|
||||
}
|
||||
|
||||
.home .home-hardest-name {
|
||||
font-family: var(--hfont-d);
|
||||
font-size: 1.5rem;
|
||||
letter-spacing: 0.04em;
|
||||
color: var(--haccent-2);
|
||||
text-shadow: 0 0 40px rgba(255,107,53,0.3);
|
||||
}
|
||||
|
||||
.home .home-hardest-rank {
|
||||
font-family: var(--hfont-mono);
|
||||
font-size: 0.65rem;
|
||||
letter-spacing: 0.12em;
|
||||
text-transform: uppercase;
|
||||
color: var(--hdim);
|
||||
margin-top: 0.1rem;
|
||||
}
|
||||
|
||||
/* Nav arrows */
|
||||
.home .home-nav {
|
||||
position: absolute;
|
||||
bottom: 1.5rem;
|
||||
z-index: 4;
|
||||
background: rgba(255,255,255,0.06);
|
||||
border: 1px solid var(--hborder);
|
||||
color: var(--hmuted);
|
||||
width: 36px;
|
||||
height: 36px;
|
||||
border-radius: 50%;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
cursor: pointer;
|
||||
font-size: 1rem;
|
||||
transition: all 0.2s;
|
||||
}
|
||||
|
||||
.home .home-nav:hover {
|
||||
background: var(--haccent);
|
||||
color: #000;
|
||||
border-color: var(--haccent);
|
||||
}
|
||||
|
||||
.home .home-nav-left { right: 5rem; }
|
||||
.home .home-nav-right { right: 1.5rem; }
|
||||
|
||||
/* Transition */
|
||||
.home-card-fade-enter-active,
|
||||
.home-card-fade-leave-active {
|
||||
transition: opacity 0.25s ease, transform 0.25s ease;
|
||||
}
|
||||
.home-card-fade-enter-from { opacity: 0; transform: translateY(10px); }
|
||||
.home-card-fade-leave-to { opacity: 0; transform: translateY(-8px); }
|
||||
|
||||
/* ════════════ FUN FACTS ════════════ */
|
||||
.home .home-facts {
|
||||
padding: 4rem 2rem 6rem;
|
||||
max-width: 1100px;
|
||||
margin: 0 auto;
|
||||
}
|
||||
|
||||
.home .home-facts-grid {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(3, 1fr);
|
||||
gap: 1px;
|
||||
border: 1px solid var(--hborder);
|
||||
border-radius: var(--hr-lg);
|
||||
overflow: hidden;
|
||||
background: var(--hborder);
|
||||
}
|
||||
|
||||
.home .home-fact-card {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 0.75rem;
|
||||
padding: 2rem;
|
||||
background: var(--hbg-2);
|
||||
transition: background 0.2s;
|
||||
}
|
||||
|
||||
.home .home-fact-card:hover {
|
||||
background: var(--hsurface);
|
||||
}
|
||||
|
||||
.home .home-fact-icon {
|
||||
font-size: 1.5rem;
|
||||
line-height: 1;
|
||||
}
|
||||
|
||||
.home .home-fact-text {
|
||||
font-size: 0.85rem;
|
||||
color: var(--hmuted);
|
||||
line-height: 1.65;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
/* ════════════ FOOTER CTA ════════════ */
|
||||
.home .home-footer-cta {
|
||||
text-align: center;
|
||||
padding: 6rem 2rem;
|
||||
border-top: 1px solid var(--hborder);
|
||||
background: var(--hbg-2);
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
gap: 2rem;
|
||||
}
|
||||
|
||||
.home .home-footer-heading {
|
||||
font-family: var(--hfont-d);
|
||||
font-size: clamp(2rem, 5vw, 4rem);
|
||||
margin: 0;
|
||||
letter-spacing: 0.04em;
|
||||
color: var(--htext);
|
||||
}
|
||||
|
||||
/* ════════════ RESPONSIVE ════════════ */
|
||||
@media (max-width: 768px) {
|
||||
.home .home-stats-inner {
|
||||
grid-template-columns: repeat(2, 1fr);
|
||||
}
|
||||
.home .home-stat-item:nth-child(2) { border-right: none; }
|
||||
.home .home-stat-item:nth-child(3) { border-top: 1px solid var(--hborder); }
|
||||
.home .home-stat-item:nth-child(4) { border-top: 1px solid var(--hborder); border-right: none; }
|
||||
|
||||
.home .home-card {
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
padding: 1.5rem;
|
||||
gap: 1.5rem;
|
||||
}
|
||||
|
||||
.home .home-card-left {
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
gap: 1rem;
|
||||
min-width: unset;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.home .home-card-name,
|
||||
.home .home-card-role { text-align: left; }
|
||||
|
||||
.home .home-facts-grid { grid-template-columns: 1fr; }
|
||||
.home .home-nav-left { right: 4rem; }
|
||||
.home .home-ring { display: none; }
|
||||
}
|
||||
|
||||
@media (max-width: 480px) {
|
||||
.home .home-title { font-size: 4.5rem; }
|
||||
.home .home-pills { padding: 0.75rem 1rem; }
|
||||
.home .home-card { padding: 1.25rem; }
|
||||
.home .home-cstats { gap: 0.5rem; }
|
||||
.home .home-cstat { padding: 0.6rem 0.8rem; min-width: 76px; }
|
||||
}
|
||||
521
css/pages/leaderboard.css
Normal file
521
css/pages/leaderboard.css
Normal file
@@ -0,0 +1,521 @@
|
||||
/* ============================================================
|
||||
leaderboard.css — Revamped Leaderboard
|
||||
Same layout, visual polish + interactivity
|
||||
============================================================ */
|
||||
|
||||
/* ── Page shell ── */
|
||||
.page-leaderboard-container {
|
||||
display: block;
|
||||
}
|
||||
|
||||
.page-leaderboard {
|
||||
height: 100%;
|
||||
display: grid;
|
||||
grid-template-columns: minmax(24rem, 2fr) 3fr;
|
||||
grid-template-rows: max-content 1fr;
|
||||
column-gap: 2rem;
|
||||
max-width: 80rem;
|
||||
margin: 0 auto;
|
||||
}
|
||||
|
||||
.page-leaderboard > div {
|
||||
overflow-y: auto;
|
||||
}
|
||||
|
||||
/* ── Error banner ── */
|
||||
.page-leaderboard .error-container {
|
||||
grid-row: 1;
|
||||
grid-column: 1 / span 2;
|
||||
}
|
||||
|
||||
.page-leaderboard .error-container .error {
|
||||
padding: 0.75rem 1rem;
|
||||
background-color: var(--color-error);
|
||||
color: var(--color-on-error);
|
||||
border-radius: 6px;
|
||||
font-size: 0.85rem;
|
||||
}
|
||||
|
||||
/* ── Board + player containers ── */
|
||||
.page-leaderboard .board-container,
|
||||
.page-leaderboard .player-container {
|
||||
grid-row: 2;
|
||||
padding-block: 2rem;
|
||||
}
|
||||
|
||||
.page-leaderboard .board-container {
|
||||
padding-inline: 1rem;
|
||||
box-shadow: inset 0 -24px 20px -20px rgba(0,0,0,0.4);
|
||||
}
|
||||
|
||||
/* ── Board table ── */
|
||||
.page-leaderboard .board {
|
||||
table-layout: auto;
|
||||
display: block;
|
||||
width: 100%;
|
||||
border-collapse: separate;
|
||||
border-spacing: 0 3px;
|
||||
}
|
||||
|
||||
/* ── Rank column ── */
|
||||
.page-leaderboard .board .rank {
|
||||
padding-block: 0.75rem;
|
||||
padding-right: 0.5rem;
|
||||
text-align: end;
|
||||
font-variant-numeric: tabular-nums;
|
||||
white-space: nowrap;
|
||||
font-size: 0.8rem;
|
||||
color: rgba(255,255,255,0.35);
|
||||
font-weight: 700;
|
||||
letter-spacing: 0.04em;
|
||||
width: 1%;
|
||||
}
|
||||
|
||||
/* Top 3 rank numbers */
|
||||
.page-leaderboard .board tr:nth-child(1) .rank {
|
||||
color: #ffd700;
|
||||
text-shadow: 0 0 8px rgba(255,215,0,0.5);
|
||||
}
|
||||
.page-leaderboard .board tr:nth-child(2) .rank {
|
||||
color: #c0c0c0;
|
||||
text-shadow: 0 0 8px rgba(192,192,192,0.4);
|
||||
}
|
||||
.page-leaderboard .board tr:nth-child(3) .rank {
|
||||
color: #cd7f32;
|
||||
text-shadow: 0 0 8px rgba(205,127,50,0.4);
|
||||
}
|
||||
|
||||
/* ── Trophy column ── */
|
||||
.page-leaderboard .board .rank-image {
|
||||
padding-left: 0.75rem;
|
||||
padding-right: 0.25rem;
|
||||
width: 2rem;
|
||||
}
|
||||
|
||||
.page-leaderboard .board .rank-image .trophy {
|
||||
height: 20px;
|
||||
display: block;
|
||||
filter: drop-shadow(0 2px 4px rgba(0,0,0,0.5));
|
||||
transition: transform 0.2s ease;
|
||||
}
|
||||
|
||||
.page-leaderboard .board tr:hover .trophy {
|
||||
transform: scale(1.15) rotate(-4deg);
|
||||
}
|
||||
|
||||
/* ── Score column ── */
|
||||
.page-leaderboard .board .total {
|
||||
padding: 0.75rem 0.75rem 0.75rem 0.5rem;
|
||||
text-align: end;
|
||||
font-variant-numeric: tabular-nums;
|
||||
white-space: nowrap;
|
||||
font-size: 0.85rem;
|
||||
font-weight: 700;
|
||||
color: rgba(255,255,255,0.45);
|
||||
width: 1%;
|
||||
}
|
||||
|
||||
.page-leaderboard .board tr:nth-child(1) .total { color: rgba(255,215,0,0.75); }
|
||||
.page-leaderboard .board tr:nth-child(2) .total { color: rgba(192,192,192,0.75); }
|
||||
.page-leaderboard .board tr:nth-child(3) .total { color: rgba(205,127,50,0.75); }
|
||||
|
||||
/* ── Icon column ── */
|
||||
.page-leaderboard .board .userIcon {
|
||||
width: 2.75rem;
|
||||
vertical-align: middle;
|
||||
padding-left: 0.25rem;
|
||||
}
|
||||
|
||||
.page-leaderboard .board .userIcon .ico {
|
||||
height: 2.25rem;
|
||||
width: 2.25rem;
|
||||
display: block;
|
||||
border-radius: 5px;
|
||||
image-rendering: pixelated;
|
||||
box-shadow: 0 0 0 1px rgba(255,255,255,0.08);
|
||||
transition: transform 0.15s ease, box-shadow 0.15s ease;
|
||||
}
|
||||
|
||||
.page-leaderboard .board tr:hover .ico {
|
||||
transform: scale(1.08);
|
||||
box-shadow: 0 0 0 1px rgba(255,255,255,0.22);
|
||||
}
|
||||
|
||||
/* ── Username column ── */
|
||||
.page-leaderboard .board .user {
|
||||
width: 100%;
|
||||
vertical-align: middle;
|
||||
padding-left: 0.4rem;
|
||||
}
|
||||
|
||||
.page-leaderboard .board .user button {
|
||||
background-color: transparent;
|
||||
color: var(--color-on-background);
|
||||
border: 1px solid transparent;
|
||||
border-radius: 7px;
|
||||
padding: 0.55rem 0.85rem;
|
||||
text-align: start;
|
||||
word-break: normal;
|
||||
overflow-wrap: anywhere;
|
||||
width: 100%;
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
transition:
|
||||
background-color 0.15s ease,
|
||||
border-color 0.15s ease,
|
||||
color 0.15s ease,
|
||||
box-shadow 0.15s ease,
|
||||
transform 0.1s ease;
|
||||
}
|
||||
|
||||
/* shimmer on hover */
|
||||
.page-leaderboard .board .user button::before {
|
||||
content: '';
|
||||
position: absolute;
|
||||
inset: 0;
|
||||
background: linear-gradient(
|
||||
105deg,
|
||||
transparent 35%,
|
||||
rgba(255,255,255,0.05) 50%,
|
||||
transparent 65%
|
||||
);
|
||||
transform: translateX(-100%);
|
||||
transition: transform 0.4s ease;
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
.page-leaderboard .board .user button:hover::before {
|
||||
transform: translateX(100%);
|
||||
}
|
||||
|
||||
.page-leaderboard .board .user button:hover {
|
||||
background-color: rgba(255,255,255,0.06);
|
||||
border-color: rgba(255,255,255,0.1);
|
||||
color: var(--color-on-background-hover);
|
||||
cursor: pointer;
|
||||
transform: translateX(2px);
|
||||
box-shadow: 0 2px 8px rgba(0,0,0,0.3);
|
||||
}
|
||||
|
||||
.page-leaderboard .board .user.active button {
|
||||
background-color: var(--color-primary);
|
||||
color: var(--color-on-primary);
|
||||
border-color: rgba(255,213,74,0.7);
|
||||
box-shadow:
|
||||
0 0 0 2px rgba(255,213,74,0.25),
|
||||
0 0 16px rgba(255,213,74,0.15),
|
||||
0 3px 12px rgba(0,0,0,0.4);
|
||||
transform: translateX(3px);
|
||||
}
|
||||
|
||||
/* ── Player detail panel ── */
|
||||
.page-leaderboard .player {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 1.75rem;
|
||||
padding-right: 2rem;
|
||||
}
|
||||
|
||||
/* Player name heading */
|
||||
.page-leaderboard .player > h2:first-child {
|
||||
font-size: 1.6rem;
|
||||
font-weight: 800;
|
||||
margin: 0;
|
||||
background: linear-gradient(135deg, #ffffff 55%, rgba(255,213,74,0.75) 100%);
|
||||
-webkit-background-clip: text;
|
||||
background-clip: text;
|
||||
color: transparent;
|
||||
line-height: 1.2;
|
||||
}
|
||||
|
||||
/* Total points sub-label */
|
||||
.page-leaderboard .player .extra_points_info {
|
||||
font-size: 0.75rem;
|
||||
color: rgba(255,255,255,0.35);
|
||||
font-style: italic;
|
||||
margin: -1rem 0 0;
|
||||
line-height: 1.5;
|
||||
letter-spacing: 0.01em;
|
||||
padding: 0.4rem 0.75rem;
|
||||
background: rgba(255,255,255,0.03);
|
||||
border: 1px solid rgba(255,255,255,0.05);
|
||||
border-radius: 6px;
|
||||
}
|
||||
|
||||
/* Section headings (Completions, Verifications, etc.) */
|
||||
.page-leaderboard .player h2,
|
||||
.page-leaderboard .player h3 {
|
||||
font-size: 0.7rem;
|
||||
font-weight: 700;
|
||||
letter-spacing: 0.18em;
|
||||
text-transform: uppercase;
|
||||
color: rgba(255,255,255,0.3);
|
||||
padding-bottom: 0.5rem;
|
||||
border-bottom: 1px solid rgba(255,255,255,0.06);
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
/* ── Player level rows table ── */
|
||||
.page-leaderboard .player .table {
|
||||
table-layout: auto;
|
||||
width: 100%;
|
||||
border-collapse: separate;
|
||||
border-spacing: 0 5px;
|
||||
}
|
||||
|
||||
.page-leaderboard .player .table tr td:not(:last-child) {
|
||||
padding-right: 1rem;
|
||||
}
|
||||
|
||||
.page-leaderboard .player .table p,
|
||||
.page-leaderboard .player .table a {
|
||||
padding-block: 0.5rem;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
/* rank + score: shrink to content */
|
||||
.page-leaderboard .player .table .rank,
|
||||
.page-leaderboard .player .table .score {
|
||||
width: 1%;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.page-leaderboard .player .table .rank p,
|
||||
.page-leaderboard .player .table .score p {
|
||||
text-align: end;
|
||||
font-variant-numeric: tabular-nums;
|
||||
font-size: 0.8rem;
|
||||
color: rgba(255,255,255,0.4);
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
/* Level pill */
|
||||
.page-leaderboard .player .table .level {
|
||||
width: 100%;
|
||||
background: url(/assets/april-background.jpg) #00000094;
|
||||
background-blend-mode: multiply;
|
||||
background-size: cover;
|
||||
background-position: center;
|
||||
border-radius: 0.65rem;
|
||||
padding: 0.7rem 1rem 0.55rem;
|
||||
border: 1px solid rgba(255,255,255,0.06);
|
||||
box-shadow:
|
||||
inset 0 1px 0 rgba(255,255,255,0.06),
|
||||
0 2px 8px rgba(0,0,0,0.35);
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
transition:
|
||||
filter 0.15s ease,
|
||||
border-color 0.15s ease,
|
||||
box-shadow 0.15s ease;
|
||||
}
|
||||
|
||||
/* shimmer on level pill */
|
||||
.page-leaderboard .player .table .level::before {
|
||||
content: '';
|
||||
position: absolute;
|
||||
inset: 0;
|
||||
background: linear-gradient(
|
||||
105deg,
|
||||
transparent 35%,
|
||||
rgba(255,255,255,0.04) 50%,
|
||||
transparent 65%
|
||||
);
|
||||
transform: translateX(-100%);
|
||||
transition: transform 0.4s ease;
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
.page-leaderboard .player .table tr:hover .level::before {
|
||||
transform: translateX(100%);
|
||||
}
|
||||
|
||||
.page-leaderboard .player .table tr:hover .level {
|
||||
filter: brightness(1.3);
|
||||
border-color: rgba(211,176,60,0.35);
|
||||
box-shadow:
|
||||
inset 0 1px 0 rgba(255,255,255,0.1),
|
||||
0 4px 16px rgba(0,0,0,0.45),
|
||||
0 0 0 1px rgba(211,176,60,0.2);
|
||||
}
|
||||
|
||||
.page-leaderboard .player .table a {
|
||||
font-size: 0.9rem;
|
||||
font-weight: 600;
|
||||
color: rgba(255,255,255,0.9);
|
||||
text-decoration: none;
|
||||
display: block;
|
||||
transition: color 0.15s ease;
|
||||
}
|
||||
|
||||
.page-leaderboard .player .table a:hover {
|
||||
text-decoration: underline;
|
||||
color: #ffd54a;
|
||||
}
|
||||
|
||||
|
||||
/* ════════════════════════════════════════
|
||||
SCORE BREAKDOWN (donut + bars)
|
||||
════════════════════════════════════════ */
|
||||
.page-leaderboard .player .lb-breakdown {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 1.5rem;
|
||||
padding: 1.1rem 1.25rem;
|
||||
background: rgba(255,255,255,0.03);
|
||||
border: 1px solid rgba(255,255,255,0.07);
|
||||
border-radius: 12px;
|
||||
}
|
||||
|
||||
/* ── Donut ── */
|
||||
.page-leaderboard .player .lb-donut-wrap {
|
||||
flex-shrink: 0;
|
||||
width: 100px;
|
||||
height: 100px;
|
||||
}
|
||||
|
||||
.page-leaderboard .player .lb-donut {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
/* SVG circles animate in */
|
||||
overflow: visible;
|
||||
}
|
||||
|
||||
.page-leaderboard .player .lb-donut circle:not(:first-child) {
|
||||
transition: stroke-dasharray 0.7s cubic-bezier(0.22, 1, 0.36, 1),
|
||||
stroke-dashoffset 0.7s cubic-bezier(0.22, 1, 0.36, 1);
|
||||
}
|
||||
|
||||
.page-leaderboard .player .lb-donut-total {
|
||||
font-size: 18px;
|
||||
font-weight: 800;
|
||||
fill: #fff;
|
||||
font-family: 'Geist', sans-serif;
|
||||
}
|
||||
|
||||
.page-leaderboard .player .lb-donut-label {
|
||||
font-size: 10px;
|
||||
font-weight: 600;
|
||||
fill: rgba(255,255,255,0.35);
|
||||
font-family: 'Geist Mono', monospace;
|
||||
letter-spacing: 0.1em;
|
||||
text-transform: uppercase;
|
||||
}
|
||||
|
||||
/* ── Bars ── */
|
||||
.page-leaderboard .player .lb-bars {
|
||||
flex: 1;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 0.55rem;
|
||||
min-width: 0;
|
||||
}
|
||||
|
||||
.page-leaderboard .player .lb-bar-row {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 0.5rem;
|
||||
}
|
||||
|
||||
.page-leaderboard .player .lb-bar-dot {
|
||||
flex-shrink: 0;
|
||||
width: 7px;
|
||||
height: 7px;
|
||||
border-radius: 50%;
|
||||
box-shadow: 0 0 6px currentColor;
|
||||
}
|
||||
|
||||
.page-leaderboard .player .lb-bar-cat {
|
||||
flex-shrink: 0;
|
||||
width: 5.5rem;
|
||||
font-size: 0.72rem;
|
||||
font-weight: 600;
|
||||
color: rgba(255,255,255,0.45);
|
||||
letter-spacing: 0.02em;
|
||||
}
|
||||
|
||||
.page-leaderboard .player .lb-bar-track {
|
||||
flex: 1;
|
||||
height: 5px;
|
||||
background: rgba(255,255,255,0.07);
|
||||
border-radius: 99px;
|
||||
overflow: hidden;
|
||||
min-width: 0;
|
||||
}
|
||||
|
||||
.page-leaderboard .player .lb-bar-fill {
|
||||
height: 100%;
|
||||
border-radius: 99px;
|
||||
transition: width 0.7s cubic-bezier(0.22, 1, 0.36, 1);
|
||||
/* glow matching the bar colour */
|
||||
box-shadow: 0 0 8px currentColor;
|
||||
}
|
||||
|
||||
.page-leaderboard .player .lb-bar-val {
|
||||
flex-shrink: 0;
|
||||
width: 3rem;
|
||||
text-align: right;
|
||||
font-size: 0.72rem;
|
||||
font-weight: 700;
|
||||
font-family: 'Geist Mono', monospace;
|
||||
color: rgba(255,255,255,0.4);
|
||||
font-variant-numeric: tabular-nums;
|
||||
}
|
||||
|
||||
/* ── Packs ── */
|
||||
.page-leaderboard .player .packs {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
gap: 0.4em;
|
||||
}
|
||||
|
||||
.page-leaderboard .player .packs .tag {
|
||||
display: flex;
|
||||
flex-shrink: 0;
|
||||
background-size: 100% 100% !important;
|
||||
transition: transform 0.15s ease, box-shadow 0.15s ease;
|
||||
}
|
||||
|
||||
.page-leaderboard .player .packs .tag:hover {
|
||||
transform: translateY(-2px);
|
||||
box-shadow: 0 4px 12px rgba(0,0,0,0.4);
|
||||
}
|
||||
|
||||
/* ── Tag pill (global) ── */
|
||||
.tag {
|
||||
font-family: "Lexend Deca", sans-serif;
|
||||
display: block;
|
||||
border-radius: 14px;
|
||||
padding: 5px 10px;
|
||||
font-size: 0.75rem;
|
||||
font-weight: 600;
|
||||
letter-spacing: 0.03em;
|
||||
}
|
||||
|
||||
/* ── Shitty mode (preserved) ── */
|
||||
.shitty .page-leaderboard .board .user button {
|
||||
background-color: transparent;
|
||||
padding: 1rem 0;
|
||||
border: none;
|
||||
box-shadow: none;
|
||||
transform: none;
|
||||
}
|
||||
|
||||
.shitty .page-leaderboard .board .user button::before {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.shitty .page-leaderboard .board .user button:hover {
|
||||
background-color: #eee;
|
||||
color: orange !important;
|
||||
transform: none;
|
||||
box-shadow: none;
|
||||
}
|
||||
|
||||
.shitty .page-leaderboard .board .user.active button {
|
||||
background-color: transparent;
|
||||
color: orange;
|
||||
box-shadow: none;
|
||||
transform: none;
|
||||
border: none;
|
||||
}
|
||||
674
css/pages/list.css
Normal file
674
css/pages/list.css
Normal file
@@ -0,0 +1,674 @@
|
||||
/* ============================================================
|
||||
list.css — Revamped Pointercrate Layout
|
||||
Keeps existing structure, adds polish + interactivity
|
||||
============================================================ */
|
||||
|
||||
/* ── Containers ── */
|
||||
.page-list .list-container,
|
||||
.page-list .level-container,
|
||||
.page-list .meta-container {
|
||||
padding-block: 2rem;
|
||||
}
|
||||
|
||||
.page-list .list-container {
|
||||
padding-inline: 1rem;
|
||||
overflow-y: auto;
|
||||
box-shadow: inset 0 -24px 20px -20px rgba(0,0,0,0.4);
|
||||
/* needed so position:sticky works inside an overflow:auto container */
|
||||
position: relative;
|
||||
/* remove top padding — the sticky bar provides it */
|
||||
padding-top: 0;
|
||||
}
|
||||
|
||||
.page-list .meta-container {
|
||||
padding-right: 2rem;
|
||||
}
|
||||
|
||||
/* ── Show-unverified label ── */
|
||||
.page-list .sul-label {
|
||||
position: relative;
|
||||
padding-left: 1rem;
|
||||
font-size: medium;
|
||||
}
|
||||
|
||||
.page-list .sul-info-label {
|
||||
margin-top: 2rem;
|
||||
margin-bottom: 1rem;
|
||||
}
|
||||
|
||||
/* ── List table ── */
|
||||
.page-list .list {
|
||||
table-layout: auto;
|
||||
border-collapse: separate;
|
||||
border-spacing: 0 2px;
|
||||
}
|
||||
|
||||
.page-list .list .rank {
|
||||
text-align: end;
|
||||
padding-right: 0.75rem;
|
||||
font-variant-numeric: tabular-nums;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.page-list .list .level {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.page-list .list .rank-image .rank-trophy {
|
||||
height: 20px;
|
||||
/* small drop shadow on trophies */
|
||||
filter: drop-shadow(0 2px 4px rgba(0,0,0,0.5));
|
||||
transition: transform 0.2s ease;
|
||||
}
|
||||
|
||||
.page-list .list tr:hover .rank-trophy {
|
||||
transform: scale(1.15) rotate(-4deg);
|
||||
}
|
||||
|
||||
/* ── Section separator ── */
|
||||
.page-list .list-separator {
|
||||
text-align: center;
|
||||
padding: 1rem;
|
||||
font-size: 0.8rem;
|
||||
letter-spacing: 0.15em;
|
||||
text-transform: uppercase;
|
||||
color: rgba(255,255,255,0.3);
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.page-list .list-separator::before,
|
||||
.page-list .list-separator::after {
|
||||
content: '';
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
width: 28%;
|
||||
height: 1px;
|
||||
background: linear-gradient(to right, transparent, rgba(255,255,255,0.1));
|
||||
}
|
||||
|
||||
.page-list .list-separator::before {
|
||||
left: 4%;
|
||||
}
|
||||
|
||||
.page-list .list-separator::after {
|
||||
right: 4%;
|
||||
transform: scaleX(-1);
|
||||
}
|
||||
|
||||
/* ── Level buttons ── */
|
||||
.page-list .list .level button {
|
||||
/* base: dark bg + level thumbnail blended in */
|
||||
background-color: #00000094;
|
||||
background-blend-mode: multiply;
|
||||
background-position: center;
|
||||
background-size: cover;
|
||||
color: var(--color-on-background);
|
||||
|
||||
border: 1px solid rgba(255,255,255,0.06);
|
||||
border-radius: 0.75rem;
|
||||
padding: 0.85rem 1.1rem;
|
||||
text-align: start;
|
||||
word-break: normal;
|
||||
overflow-wrap: anywhere;
|
||||
cursor: pointer;
|
||||
margin-left: 0.5rem;
|
||||
width: 90%;
|
||||
margin-bottom: 0.4rem;
|
||||
|
||||
/* smooth everything */
|
||||
transition:
|
||||
filter 0.18s ease,
|
||||
border-color 0.18s ease,
|
||||
box-shadow 0.18s ease,
|
||||
background-color 0.18s ease,
|
||||
transform 0.12s ease;
|
||||
|
||||
/* subtle inner highlight at top edge */
|
||||
box-shadow:
|
||||
inset 0 1px 0 rgba(255,255,255,0.07),
|
||||
0 2px 6px rgba(0,0,0,0.3);
|
||||
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
/* shimmer pseudo-element that sweeps across on hover */
|
||||
.page-list .list .level button::before {
|
||||
content: '';
|
||||
position: absolute;
|
||||
inset: 0;
|
||||
background: linear-gradient(
|
||||
105deg,
|
||||
transparent 35%,
|
||||
rgba(255,255,255,0.06) 50%,
|
||||
transparent 65%
|
||||
);
|
||||
transform: translateX(-100%);
|
||||
transition: transform 0.4s ease;
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
.page-list .list .level button:hover::before {
|
||||
transform: translateX(100%);
|
||||
}
|
||||
|
||||
/* error state */
|
||||
.page-list .list .level.error button {
|
||||
color: var(--color-error);
|
||||
cursor: not-allowed;
|
||||
text-decoration: line-through;
|
||||
opacity: 0.5;
|
||||
}
|
||||
|
||||
/* hover state */
|
||||
.page-list .list .level button:hover {
|
||||
filter: brightness(1.4);
|
||||
border-color: rgba(211, 176, 60, 0.5);
|
||||
box-shadow:
|
||||
inset 0 1px 0 rgba(255,255,255,0.1),
|
||||
0 4px 16px rgba(0,0,0,0.4),
|
||||
0 0 0 1px rgba(211,176,60,0.25);
|
||||
transform: translateX(2px);
|
||||
}
|
||||
|
||||
/* active (selected) state */
|
||||
.page-list .list .level.active button {
|
||||
background-color: var(--color-primary);
|
||||
color: var(--color-on-primary);
|
||||
filter: brightness(1.5);
|
||||
border-color: rgba(255, 213, 74, 0.8);
|
||||
box-shadow:
|
||||
inset 0 1px 0 rgba(255,255,255,0.2),
|
||||
0 0 0 2px rgba(255,213,74,0.35),
|
||||
0 0 18px rgba(255,213,74,0.25),
|
||||
0 4px 20px rgba(0,0,0,0.5);
|
||||
transform: translateX(3px);
|
||||
}
|
||||
|
||||
/* rank number next to active level glows */
|
||||
.page-list .list .level.active ~ td .rank p,
|
||||
.page-list .list tr:has(.level.active) .rank p {
|
||||
color: #ffd54a;
|
||||
text-shadow: 0 0 8px rgba(255,213,74,0.6);
|
||||
}
|
||||
|
||||
/* ── Search highlight ── */
|
||||
.search-highlight {
|
||||
background: #ffd54a;
|
||||
color: #000;
|
||||
padding: 0 3px;
|
||||
border-radius: 3px;
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
/* ── Level detail panel ── */
|
||||
.page-list .level-container .level {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 1.5rem;
|
||||
padding-right: 2rem;
|
||||
max-width: 48rem;
|
||||
}
|
||||
|
||||
/* Level title */
|
||||
.page-list .level-container .level h1 {
|
||||
font-size: 1.75rem;
|
||||
font-weight: 800;
|
||||
line-height: 1.2;
|
||||
margin: 0;
|
||||
/* subtle gradient shimmer on the title */
|
||||
background: linear-gradient(135deg, #ffffff 60%, rgba(255,213,74,0.7) 100%);
|
||||
-webkit-background-clip: text;
|
||||
background-clip: text;
|
||||
color: transparent;
|
||||
}
|
||||
|
||||
/* GD level description quote */
|
||||
.page-list .level-container .level > p:first-of-type {
|
||||
font-size: 0.875rem;
|
||||
color: rgba(255,255,255,0.45);
|
||||
font-style: italic;
|
||||
line-height: 1.6;
|
||||
padding: 0.75rem 1rem;
|
||||
border-left: 2px solid rgba(255,213,74,0.4);
|
||||
background: rgba(255,255,255,0.03);
|
||||
border-radius: 0 6px 6px 0;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
/* Rate colours */
|
||||
.page-list .level-container .level .good {
|
||||
background: linear-gradient(to right, #424242, #727272);
|
||||
-webkit-background-clip: text;
|
||||
background-clip: text;
|
||||
color: transparent;
|
||||
}
|
||||
|
||||
.page-list .level-container .level .great {
|
||||
background: linear-gradient(to right, #363636, #5e5e5e);
|
||||
-webkit-background-clip: text;
|
||||
background-clip: text;
|
||||
color: transparent;
|
||||
text-shadow: 0 0 2px #ffffff99;
|
||||
}
|
||||
|
||||
.page-list .level-container .level .peak {
|
||||
background: linear-gradient(to right, #5f5f5f, #9e9e9e);
|
||||
-webkit-background-clip: text;
|
||||
background-clip: text;
|
||||
color: transparent;
|
||||
text-shadow: 0 0 5px #ffffffbb;
|
||||
}
|
||||
|
||||
/* Authors grid */
|
||||
.page-list .level-container .level .level-authors {
|
||||
display: grid;
|
||||
grid-template-columns: max-content 1fr;
|
||||
grid-auto-rows: max-content;
|
||||
gap: 0.5rem 1rem;
|
||||
}
|
||||
|
||||
.page-list .level-container .level .level-authors > *:nth-child(odd) {
|
||||
font-size: 0.65rem;
|
||||
font-weight: 700;
|
||||
letter-spacing: 0.15em;
|
||||
text-transform: uppercase;
|
||||
color: rgba(255,255,255,0.35);
|
||||
padding-top: 2px;
|
||||
}
|
||||
|
||||
/* Packs */
|
||||
.page-list .level-container .level .packs {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
gap: 0.4em;
|
||||
}
|
||||
|
||||
.page-list .level-container .level .packs .tag {
|
||||
display: flex;
|
||||
flex-shrink: 0;
|
||||
background-size: 100% 100% !important;
|
||||
transition: transform 0.15s ease, box-shadow 0.15s ease;
|
||||
}
|
||||
|
||||
.page-list .level-container .level .packs .tag:hover {
|
||||
transform: translateY(-2px);
|
||||
box-shadow: 0 4px 12px rgba(0,0,0,0.4);
|
||||
}
|
||||
|
||||
/* Tabs (Verification / Showcase) */
|
||||
.page-list .level-container .level .tabs {
|
||||
display: flex;
|
||||
gap: 0.35rem;
|
||||
padding: 0.25rem;
|
||||
background: rgba(255,255,255,0.05);
|
||||
border-radius: 8px;
|
||||
width: fit-content;
|
||||
}
|
||||
|
||||
.page-list .level-container .level .tab {
|
||||
padding: 0.4rem 1.1rem;
|
||||
border-radius: 6px;
|
||||
border: none;
|
||||
background: transparent;
|
||||
color: rgba(255,255,255,0.4);
|
||||
font-size: 0.8rem;
|
||||
font-weight: 600;
|
||||
letter-spacing: 0.04em;
|
||||
cursor: pointer;
|
||||
transition: background 0.15s ease, color 0.15s ease;
|
||||
}
|
||||
|
||||
.page-list .level-container .level .tab.selected {
|
||||
background: rgba(255,255,255,0.12);
|
||||
color: #fff;
|
||||
box-shadow: 0 1px 4px rgba(0,0,0,0.3);
|
||||
}
|
||||
|
||||
.page-list .level-container .level .tab:not(.selected):hover {
|
||||
color: rgba(255,255,255,0.7);
|
||||
background: rgba(255,255,255,0.06);
|
||||
}
|
||||
|
||||
/* Video embed */
|
||||
.page-list .level-container .level .video {
|
||||
aspect-ratio: 16/9;
|
||||
width: 100%;
|
||||
border-radius: 10px;
|
||||
border: 1px solid rgba(255,255,255,0.07);
|
||||
box-shadow: 0 8px 32px rgba(0,0,0,0.5);
|
||||
}
|
||||
|
||||
/* Stats row */
|
||||
.page-list .level-container .level .stats {
|
||||
display: flex;
|
||||
justify-content: space-evenly;
|
||||
text-align: center;
|
||||
gap: 0;
|
||||
background: rgba(255,255,255,0.03);
|
||||
border: 1px solid rgba(255,255,255,0.07);
|
||||
border-radius: 10px;
|
||||
overflow: hidden;
|
||||
list-style: none;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.page-list .level-container .level .stats li {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
gap: 0.4rem;
|
||||
flex: 1;
|
||||
padding: 1rem 0.5rem;
|
||||
border-right: 1px solid rgba(255,255,255,0.06);
|
||||
transition: background 0.15s ease;
|
||||
}
|
||||
|
||||
.page-list .level-container .level .stats li:last-child {
|
||||
border-right: none;
|
||||
}
|
||||
|
||||
.page-list .level-container .level .stats li:hover {
|
||||
background: rgba(255,255,255,0.04);
|
||||
}
|
||||
|
||||
.page-list .level-container .level .stats .type-title-sm {
|
||||
font-size: 0.6rem;
|
||||
letter-spacing: 0.15em;
|
||||
text-transform: uppercase;
|
||||
color: rgba(255,255,255,0.35);
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
.page-list .level-container .level .stats p {
|
||||
font-size: 1.1rem;
|
||||
font-weight: 700;
|
||||
color: #fff;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
/* ── Meta container (records + editors) ── */
|
||||
.page-list .meta {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 1.5rem;
|
||||
}
|
||||
|
||||
.page-list .meta .errors {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 1rem;
|
||||
}
|
||||
|
||||
.page-list .meta .errors .error {
|
||||
padding: 0.75rem 1rem;
|
||||
background-color: var(--color-error);
|
||||
color: var(--color-on-error);
|
||||
border-radius: 0.5rem;
|
||||
font-size: 0.85rem;
|
||||
}
|
||||
|
||||
/* Records heading */
|
||||
.page-list .meta h2 {
|
||||
font-size: 0.7rem;
|
||||
font-weight: 700;
|
||||
letter-spacing: 0.18em;
|
||||
text-transform: uppercase;
|
||||
color: rgba(255,255,255,0.3);
|
||||
padding-bottom: 0.5rem;
|
||||
border-bottom: 1px solid rgba(255,255,255,0.06);
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
/* Records qualify text */
|
||||
.page-list .meta > p {
|
||||
font-size: 0.8rem;
|
||||
color: rgba(255,255,255,0.45);
|
||||
margin: -0.75rem 0 0;
|
||||
}
|
||||
|
||||
/* Records table */
|
||||
.page-list .meta-container .meta .records {
|
||||
table-layout: auto;
|
||||
width: 100%;
|
||||
border-collapse: separate;
|
||||
border-spacing: 0 2px;
|
||||
}
|
||||
|
||||
.page-list .meta-container .meta .records .record {
|
||||
border-bottom: 1px solid rgba(255,255,255,0.05);
|
||||
transition: background 0.12s ease;
|
||||
}
|
||||
|
||||
.page-list .meta-container .meta .records .record:last-child {
|
||||
border-bottom: none;
|
||||
}
|
||||
|
||||
.page-list .meta-container .meta .records .record:hover {
|
||||
background: rgba(255,255,255,0.04);
|
||||
border-radius: 6px;
|
||||
}
|
||||
|
||||
.page-list .meta-container .meta .records tr td:not(:last-child) .tag {
|
||||
padding-right: 1rem;
|
||||
}
|
||||
|
||||
.page-list .meta-container .meta .records .percent,
|
||||
.page-list .meta-container .meta .records .user,
|
||||
.page-list .meta-container .meta .records .hz {
|
||||
padding: 0.65rem 0.5rem 0.65rem 0;
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
/* percent + hz: shrink to content, never wrap */
|
||||
.page-list .meta-container .meta .records .percent,
|
||||
.page-list .meta-container .meta .records .hz {
|
||||
width: 1%;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
/* icon column: fixed small width */
|
||||
.page-list .meta-container .meta .records .userIcon {
|
||||
width: 2.5rem;
|
||||
padding-right: 0.75rem;
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
/* username gets all remaining space */
|
||||
.page-list .meta-container .meta .records .user {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.page-list .meta-container .meta .records .userIcon .ico {
|
||||
height: 1.75rem;
|
||||
width: 1.75rem;
|
||||
border-radius: 4px;
|
||||
image-rendering: pixelated;
|
||||
/* small ring around icon */
|
||||
box-shadow: 0 0 0 1px rgba(255,255,255,0.1);
|
||||
transition: transform 0.15s ease, box-shadow 0.15s ease;
|
||||
}
|
||||
|
||||
.page-list .meta-container .meta .records .record:hover .ico {
|
||||
transform: scale(1.1);
|
||||
box-shadow: 0 0 0 1px rgba(255,255,255,0.25);
|
||||
}
|
||||
|
||||
.page-list .meta-container .meta .records .percent,
|
||||
.page-list .meta-container .meta .records .hz {
|
||||
text-align: end;
|
||||
font-variant-numeric: tabular-nums;
|
||||
font-size: 0.85rem;
|
||||
color: rgba(255,255,255,0.5);
|
||||
font-weight: 600;
|
||||
white-space: nowrap;
|
||||
padding-right: 0.75rem;
|
||||
}
|
||||
|
||||
.page-list .meta-container .meta .records .mobile {
|
||||
width: 1%;
|
||||
white-space: nowrap;
|
||||
vertical-align: middle;
|
||||
padding-left: 0.5rem;
|
||||
}
|
||||
|
||||
/* 100% records stand out */
|
||||
.page-list .meta-container .meta .records .record:has(.percent p) .percent p {
|
||||
color: rgba(255,255,255,0.5);
|
||||
}
|
||||
|
||||
.page-list .meta-container .meta .records .percent p {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
/* Record username links */
|
||||
.page-list .meta-container .og a:hover,
|
||||
.page-list .meta-container .meta .records a:hover {
|
||||
text-decoration: underline;
|
||||
color: #ffd54a;
|
||||
}
|
||||
|
||||
.page-list .meta-container .meta .records .user a {
|
||||
font-size: 0.9rem;
|
||||
font-weight: 500;
|
||||
color: rgba(255,255,255,0.85);
|
||||
text-decoration: none;
|
||||
transition: color 0.15s ease;
|
||||
}
|
||||
|
||||
/* Editors list */
|
||||
.page-list .meta .editors {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 0.5rem;
|
||||
}
|
||||
|
||||
.page-list .meta .editors li {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 0.6rem;
|
||||
padding: 0.4rem 0.6rem;
|
||||
border-radius: 6px;
|
||||
transition: background 0.15s ease;
|
||||
}
|
||||
|
||||
.page-list .meta .editors li:hover {
|
||||
background: rgba(255,255,255,0.05);
|
||||
}
|
||||
|
||||
.page-list .meta .editors li img {
|
||||
height: 1.15rem;
|
||||
opacity: 0.7;
|
||||
}
|
||||
|
||||
.page-list .meta .editors li a:hover {
|
||||
text-decoration: underline;
|
||||
color: #ffd54a;
|
||||
}
|
||||
|
||||
.page-list .meta .promote {
|
||||
padding: 0.75rem 1rem;
|
||||
background-color: var(--color-primary);
|
||||
color: var(--color-on-primary);
|
||||
border-radius: 0.5rem;
|
||||
font-size: 0.85rem;
|
||||
}
|
||||
|
||||
/* ── Tag pill ── */
|
||||
.tag {
|
||||
font-family: "Lexend Deca", sans-serif;
|
||||
display: block;
|
||||
border-radius: 14px;
|
||||
padding: 5px 10px;
|
||||
font-size: 0.75rem;
|
||||
font-weight: 600;
|
||||
letter-spacing: 0.03em;
|
||||
}
|
||||
|
||||
|
||||
/* ── Sticky search + filter bar ── */
|
||||
.page-list .list-toolbar {
|
||||
position: sticky;
|
||||
top: 0;
|
||||
z-index: 50;
|
||||
/* frosted glass effect so list content scrolls under it */
|
||||
background: rgba(10, 12, 16, 0.82);
|
||||
backdrop-filter: blur(12px);
|
||||
-webkit-backdrop-filter: blur(12px);
|
||||
border-bottom: 1px solid rgba(255,255,255,0.06);
|
||||
padding: 0.85rem 0;
|
||||
margin-bottom: 0.5rem;
|
||||
/* negative margin to cancel container padding so it goes edge-to-edge */
|
||||
margin-inline: -1rem;
|
||||
padding-inline: 1rem;
|
||||
display: flex;
|
||||
gap: 10px;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
/* shadow that appears below the bar when scrolled */
|
||||
.page-list .list-toolbar::after {
|
||||
content: '';
|
||||
position: absolute;
|
||||
bottom: -12px;
|
||||
left: 0;
|
||||
right: 0;
|
||||
height: 12px;
|
||||
background: linear-gradient(to bottom, rgba(0,0,0,0.18), transparent);
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
/* ── Enjoyment bar ── */
|
||||
/* wraps the enjoyment stat li to add the bar beneath the number */
|
||||
.page-list .level-container .level .stats .enjoyment-stat {
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.page-list .level-container .level .stats .enjoyment-bar-track {
|
||||
width: 80%;
|
||||
height: 3px;
|
||||
background: rgba(255,255,255,0.08);
|
||||
border-radius: 99px;
|
||||
overflow: hidden;
|
||||
margin-top: -0.1rem;
|
||||
}
|
||||
|
||||
.page-list .level-container .level .stats .enjoyment-bar-fill {
|
||||
height: 100%;
|
||||
border-radius: 99px;
|
||||
/* colour transitions red→yellow→green using the --enjoyment CSS var */
|
||||
background: hsl(calc(var(--enjoyment, 0) * 1.2deg), 80%, 52%);
|
||||
box-shadow: 0 0 6px hsl(calc(var(--enjoyment, 0) * 1.2deg), 80%, 52%);
|
||||
transition: width 0.6s cubic-bezier(0.22, 1, 0.36, 1),
|
||||
background 0.6s ease,
|
||||
box-shadow 0.6s ease;
|
||||
}
|
||||
|
||||
/* ── Shitty mode overrides (preserved) ── */
|
||||
.shitty .page-list .list .level button {
|
||||
background-color: transparent;
|
||||
padding: 1rem 0;
|
||||
border: none;
|
||||
box-shadow: none;
|
||||
}
|
||||
|
||||
.shitty .page-list .list .level button::before {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.shitty .page-list .list .level button:hover {
|
||||
background-color: #eee;
|
||||
color: orange !important;
|
||||
transform: none;
|
||||
filter: none;
|
||||
box-shadow: none;
|
||||
}
|
||||
|
||||
.shitty .page-list .list .level.active button {
|
||||
background-color: transparent;
|
||||
color: orange;
|
||||
box-shadow: none;
|
||||
transform: none;
|
||||
filter: none;
|
||||
}
|
||||
664
css/pages/listpacks.css
Normal file
664
css/pages/listpacks.css
Normal file
@@ -0,0 +1,664 @@
|
||||
@import url('https://fonts.bunny.net/css?family=geist:300,400,500,600,700,800|geist-mono:400,500,700&display=swap');
|
||||
|
||||
/* ── Base font for everything in the pack layout ── */
|
||||
.pack-layout,
|
||||
.pack-layout * {
|
||||
font-family: 'Geist', sans-serif;
|
||||
}
|
||||
|
||||
/* Mono for anything numeric or label-like */
|
||||
.pack-hero-pts,
|
||||
.pack-hero-count,
|
||||
.pack-hero-label,
|
||||
.pack-pick-count,
|
||||
.pack-level-rank,
|
||||
.pack-level-pts,
|
||||
.pack-picker-heading {
|
||||
font-family: 'Geist Mono', monospace;
|
||||
}
|
||||
|
||||
/* ============================================================
|
||||
listpacks.css — Revamped Pack List
|
||||
============================================================ */
|
||||
|
||||
/* ── Page shell ── */
|
||||
.pack-layout {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
max-height: 100vh;
|
||||
overflow: hidden;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
/* ════════════════════════════════════════
|
||||
HERO BANNER
|
||||
════════════════════════════════════════ */
|
||||
.pack-hero {
|
||||
position: relative;
|
||||
height: 200px;
|
||||
flex-shrink: 0;
|
||||
overflow: hidden;
|
||||
display: flex;
|
||||
align-items: flex-end;
|
||||
}
|
||||
|
||||
.pack-hero-collage {
|
||||
position: absolute;
|
||||
inset: 0;
|
||||
display: flex;
|
||||
gap: 0;
|
||||
}
|
||||
|
||||
.pack-hero-strip {
|
||||
flex: 1;
|
||||
background-size: cover;
|
||||
background-position: center;
|
||||
clip-path: polygon(8% 0%, 100% 0%, 92% 100%, 0% 100%);
|
||||
margin-right: -3%;
|
||||
filter: brightness(0.45) saturate(0.7);
|
||||
transition: filter 0.4s ease;
|
||||
}
|
||||
|
||||
.pack-hero:hover .pack-hero-strip {
|
||||
filter: brightness(0.55) saturate(0.85);
|
||||
}
|
||||
|
||||
.pack-hero-tint {
|
||||
position: absolute;
|
||||
inset: 0;
|
||||
background: linear-gradient(
|
||||
to bottom,
|
||||
rgba(0,0,0,0.0) 0%,
|
||||
rgba(0,0,0,0.5) 50%,
|
||||
rgba(10,12,16,0.95) 100%
|
||||
);
|
||||
z-index: 1;
|
||||
}
|
||||
|
||||
.pack-hero::after {
|
||||
content: '';
|
||||
position: absolute;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
height: 3px;
|
||||
background: var(--hero-colour, #ffffff);
|
||||
opacity: 0.7;
|
||||
z-index: 3;
|
||||
box-shadow: 0 0 24px 4px var(--hero-colour, #ffffff);
|
||||
transition: background 0.4s ease, box-shadow 0.4s ease;
|
||||
}
|
||||
|
||||
.pack-hero-content {
|
||||
position: relative;
|
||||
z-index: 2;
|
||||
padding: 1.25rem 2rem 1.5rem;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.pack-hero-meta {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 0.25rem;
|
||||
}
|
||||
|
||||
.pack-hero-label {
|
||||
font-size: 0.65rem;
|
||||
font-weight: 700;
|
||||
letter-spacing: 0.22em;
|
||||
text-transform: uppercase;
|
||||
color: rgba(255,255,255,0.4);
|
||||
}
|
||||
|
||||
.pack-hero-name {
|
||||
font-size: clamp(1.4rem, 3vw, 2.2rem);
|
||||
font-weight: 800;
|
||||
margin: 0;
|
||||
color: #fff;
|
||||
text-shadow: 0 2px 16px rgba(0,0,0,0.8);
|
||||
line-height: 1.15;
|
||||
}
|
||||
|
||||
.pack-hero-stats {
|
||||
display: flex;
|
||||
align-items: baseline;
|
||||
gap: 1rem;
|
||||
margin-top: 0.2rem;
|
||||
}
|
||||
|
||||
.pack-hero-pts {
|
||||
font-size: 1.1rem;
|
||||
font-weight: 700;
|
||||
color: var(--hero-colour, #fff);
|
||||
text-shadow: 0 0 20px var(--hero-colour, transparent);
|
||||
transition: color 0.4s ease;
|
||||
}
|
||||
|
||||
.pack-hero-pts em {
|
||||
font-style: normal;
|
||||
font-size: 0.75rem;
|
||||
font-weight: 500;
|
||||
color: rgba(255,255,255,0.45);
|
||||
margin-left: 2px;
|
||||
}
|
||||
|
||||
.pack-hero-count {
|
||||
font-size: 0.8rem;
|
||||
color: rgba(255,255,255,0.35);
|
||||
font-weight: 500;
|
||||
}
|
||||
|
||||
/* ════════════════════════════════════════
|
||||
BODY
|
||||
════════════════════════════════════════ */
|
||||
.pack-body {
|
||||
display: flex;
|
||||
flex: 1;
|
||||
/* height:0 is the key — with flex:1 it still grows to fill space,
|
||||
but setting height:0 defeats the browser's default min-height:auto
|
||||
on flex children, which is what was preventing overflow from working */
|
||||
height: 0;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
/* ════════════════════════════════════════
|
||||
LEFT — Pack picker
|
||||
════════════════════════════════════════ */
|
||||
.pack-picker {
|
||||
width: 280px;
|
||||
flex-shrink: 0;
|
||||
align-self: stretch;
|
||||
min-height: 0;
|
||||
padding: 1rem 0.75rem;
|
||||
overflow-y: auto;
|
||||
border-right: 1px solid rgba(255,255,255,0.07);
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 0.4rem;
|
||||
scrollbar-gutter: stable;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
.pack-picker-heading {
|
||||
font-size: 0.6rem;
|
||||
font-weight: 700;
|
||||
letter-spacing: 0.2em;
|
||||
color: rgba(255,255,255,0.25);
|
||||
text-transform: uppercase;
|
||||
padding: 0.25rem 0.5rem 0.6rem;
|
||||
margin: 0;
|
||||
flex-shrink: 0;
|
||||
}
|
||||
|
||||
.pack-pick-btn {
|
||||
position: relative;
|
||||
width: 100%;
|
||||
height: 56px;
|
||||
flex-shrink: 0;
|
||||
border: 1px solid rgba(255,255,255,0.06);
|
||||
border-radius: 8px;
|
||||
overflow: hidden;
|
||||
cursor: pointer;
|
||||
background: #0d0f13;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: center;
|
||||
padding: 0 0.85rem;
|
||||
gap: 2px;
|
||||
text-align: left;
|
||||
transition:
|
||||
border-color 0.15s ease,
|
||||
box-shadow 0.15s ease,
|
||||
transform 0.1s ease;
|
||||
}
|
||||
|
||||
.pack-pick-btn:hover {
|
||||
border-color: rgba(255,255,255,0.15);
|
||||
transform: translateX(2px);
|
||||
box-shadow: 0 3px 12px rgba(0,0,0,0.4);
|
||||
}
|
||||
|
||||
.pack-pick-btn.active {
|
||||
border-color: var(--pack-colour, rgba(255,255,255,0.4));
|
||||
box-shadow:
|
||||
0 0 0 1px var(--pack-colour, rgba(255,255,255,0.2)),
|
||||
0 0 14px rgba(255,255,255,0.06),
|
||||
inset 0 0 20px rgba(255,255,255,0.03);
|
||||
transform: translateX(3px);
|
||||
}
|
||||
|
||||
.pack-pick-collage {
|
||||
position: absolute;
|
||||
inset: 0;
|
||||
display: flex;
|
||||
}
|
||||
|
||||
.pack-pick-strip {
|
||||
flex: 1;
|
||||
background-size: cover;
|
||||
background-position: center;
|
||||
clip-path: polygon(12% 0%, 100% 0%, 88% 100%, 0% 100%);
|
||||
margin-right: -8%;
|
||||
filter: brightness(0.25) saturate(0.5);
|
||||
transition: filter 0.2s ease;
|
||||
}
|
||||
|
||||
.pack-pick-btn:hover .pack-pick-strip {
|
||||
filter: brightness(0.35) saturate(0.65);
|
||||
}
|
||||
|
||||
.pack-pick-btn.active .pack-pick-strip {
|
||||
filter: brightness(0.3) saturate(0.7);
|
||||
}
|
||||
|
||||
.pack-pick-tint {
|
||||
position: absolute;
|
||||
inset: 0;
|
||||
background: rgba(0,0,0,0.45);
|
||||
transition: background 0.2s ease;
|
||||
}
|
||||
|
||||
.pack-pick-name {
|
||||
position: relative;
|
||||
z-index: 2;
|
||||
font-size: 0.85rem;
|
||||
font-weight: 700;
|
||||
color: #fff;
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
text-shadow: 0 1px 6px rgba(0,0,0,0.9);
|
||||
line-height: 1.2;
|
||||
}
|
||||
|
||||
.pack-pick-count {
|
||||
position: relative;
|
||||
z-index: 2;
|
||||
font-size: 0.65rem;
|
||||
color: rgba(255,255,255,0.35);
|
||||
font-weight: 500;
|
||||
text-shadow: 0 1px 4px rgba(0,0,0,0.8);
|
||||
}
|
||||
|
||||
.pack-pick-btn.active::before {
|
||||
content: '';
|
||||
position: absolute;
|
||||
left: 0;
|
||||
top: 15%;
|
||||
height: 70%;
|
||||
width: 3px;
|
||||
border-radius: 0 2px 2px 0;
|
||||
background: var(--pack-colour, #fff);
|
||||
box-shadow: 0 0 8px var(--pack-colour, rgba(255,255,255,0.5));
|
||||
z-index: 3;
|
||||
}
|
||||
|
||||
/* ════════════════════════════════════════
|
||||
RIGHT — Level cards
|
||||
════════════════════════════════════════ */
|
||||
.pack-levels {
|
||||
flex: 1;
|
||||
min-width: 0;
|
||||
min-height: 0;
|
||||
align-self: stretch;
|
||||
overflow-y: auto;
|
||||
padding: 1.25rem 1.5rem;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
.pack-level-grid {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 8px;
|
||||
}
|
||||
|
||||
.pack-level-card {
|
||||
position: relative;
|
||||
height: 82px;
|
||||
flex-shrink: 0;
|
||||
border-radius: 10px;
|
||||
overflow: clip;
|
||||
border: 1px solid rgba(255,255,255,0.06);
|
||||
display: flex;
|
||||
align-items: center;
|
||||
cursor: pointer;
|
||||
transition:
|
||||
border-color 0.15s ease,
|
||||
box-shadow 0.15s ease,
|
||||
transform 0.12s ease;
|
||||
}
|
||||
|
||||
.pack-level-card:hover {
|
||||
border-color: rgba(255,255,255,0.18);
|
||||
box-shadow: 0 6px 24px rgba(0,0,0,0.5);
|
||||
transform: translateY(-2px);
|
||||
}
|
||||
|
||||
.pack-level-card:active {
|
||||
transform: translateY(0);
|
||||
}
|
||||
|
||||
.pack-level-bg {
|
||||
position: absolute;
|
||||
inset: 0;
|
||||
background-size: cover;
|
||||
background-position: center;
|
||||
filter: blur(3px) brightness(0.22) saturate(0.6);
|
||||
transform: scale(1.06);
|
||||
transition: filter 0.25s ease;
|
||||
}
|
||||
|
||||
.pack-level-card:hover .pack-level-bg {
|
||||
filter: blur(2px) brightness(0.32) saturate(0.8);
|
||||
}
|
||||
|
||||
.pack-level-tint {
|
||||
position: absolute;
|
||||
inset: 0;
|
||||
background: linear-gradient(
|
||||
90deg,
|
||||
rgba(0,0,0,0.15) 0%,
|
||||
rgba(0,0,0,0.05) 55%,
|
||||
rgba(0,0,0,0.4) 100%
|
||||
);
|
||||
}
|
||||
|
||||
.pack-level-rank {
|
||||
position: relative;
|
||||
z-index: 2;
|
||||
flex-shrink: 0;
|
||||
width: 3.5rem;
|
||||
text-align: center;
|
||||
font-size: 0.72rem;
|
||||
font-weight: 800;
|
||||
letter-spacing: 0.06em;
|
||||
color: rgba(255,255,255,0.35);
|
||||
border-right: 1px solid rgba(255,255,255,0.07);
|
||||
align-self: stretch;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
.pack-level-info {
|
||||
position: relative;
|
||||
z-index: 2;
|
||||
flex: 1;
|
||||
min-width: 0;
|
||||
padding: 0 0.85rem;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 4px;
|
||||
}
|
||||
|
||||
.pack-level-name {
|
||||
font-size: 1rem;
|
||||
font-weight: 700;
|
||||
color: #fff;
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
text-shadow: 0 1px 8px rgba(0,0,0,0.7);
|
||||
line-height: 1.2;
|
||||
}
|
||||
|
||||
.pack-level-pts {
|
||||
font-size: 0.72rem;
|
||||
font-weight: 600;
|
||||
color: var(--pack-colour, rgba(255,255,255,0.45));
|
||||
text-shadow: 0 0 12px var(--pack-colour, transparent);
|
||||
letter-spacing: 0.02em;
|
||||
}
|
||||
|
||||
.pack-level-arrow {
|
||||
position: relative;
|
||||
z-index: 2;
|
||||
font-size: 1.4rem;
|
||||
color: rgba(255,255,255,0.2);
|
||||
padding: 0 1rem 0 0.5rem;
|
||||
flex-shrink: 0;
|
||||
transition: color 0.15s ease, transform 0.15s ease;
|
||||
}
|
||||
|
||||
.pack-level-card:hover .pack-level-arrow {
|
||||
color: rgba(255,255,255,0.65);
|
||||
transform: translateX(3px);
|
||||
}
|
||||
|
||||
.pack-level-card::after {
|
||||
content: '';
|
||||
position: absolute;
|
||||
inset: 0;
|
||||
background: transparent;
|
||||
transition: background 0.15s ease;
|
||||
pointer-events: none;
|
||||
z-index: 1;
|
||||
}
|
||||
|
||||
.pack-level-card:hover::after {
|
||||
background: rgba(255,255,255,0.04);
|
||||
}
|
||||
|
||||
/* ── Card transitions ── */
|
||||
.pack-card-enter-active { transition: opacity 0.25s ease, transform 0.25s ease; }
|
||||
.pack-card-leave-active { transition: opacity 0.15s ease, transform 0.15s ease; }
|
||||
.pack-card-enter-from { opacity: 0; transform: translateY(10px); }
|
||||
.pack-card-leave-to { opacity: 0; transform: translateY(-6px); }
|
||||
.pack-card-move { transition: transform 0.3s ease; }
|
||||
|
||||
/* ── Scrollbars ── */
|
||||
.pack-picker::-webkit-scrollbar,
|
||||
.pack-levels::-webkit-scrollbar { width: 5px; }
|
||||
.pack-picker::-webkit-scrollbar-track,
|
||||
.pack-levels::-webkit-scrollbar-track { background: transparent; }
|
||||
.pack-picker::-webkit-scrollbar-thumb,
|
||||
.pack-levels::-webkit-scrollbar-thumb { background: rgba(255,255,255,0.1); border-radius: 99px; }
|
||||
.pack-picker::-webkit-scrollbar-thumb:hover,
|
||||
.pack-levels::-webkit-scrollbar-thumb:hover { background: rgba(255,255,255,0.2); }
|
||||
|
||||
|
||||
/* ════════════════════════════════════════
|
||||
HERO PROGRESS BAR
|
||||
════════════════════════════════════════ */
|
||||
.pack-hero-progress-badge {
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
gap: 0.4rem;
|
||||
padding: 0.2rem 0.6rem;
|
||||
background: rgba(0,0,0,0.35);
|
||||
border: 1px solid rgba(255,255,255,0.1);
|
||||
border-radius: 99px;
|
||||
backdrop-filter: blur(6px);
|
||||
}
|
||||
|
||||
.pack-hero-progress-icon {
|
||||
font-family: 'Geist Mono', monospace;
|
||||
font-size: 0.75rem;
|
||||
font-weight: 700;
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
.pack-hero-progress-label {
|
||||
font-size: 0.65rem;
|
||||
color: rgba(255,255,255,0.45);
|
||||
font-weight: 500;
|
||||
}
|
||||
|
||||
.pack-hero-progress-track {
|
||||
margin-top: 0.6rem;
|
||||
width: min(340px, 90%);
|
||||
height: 4px;
|
||||
background: rgba(255,255,255,0.1);
|
||||
border-radius: 99px;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.pack-hero-progress-fill {
|
||||
height: 100%;
|
||||
border-radius: 99px;
|
||||
transition: width 0.7s cubic-bezier(0.22, 1, 0.36, 1);
|
||||
min-width: 4px;
|
||||
}
|
||||
|
||||
/* ════════════════════════════════════════
|
||||
SORT TOOLBAR
|
||||
════════════════════════════════════════ */
|
||||
.pack-sort-bar {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 0.75rem;
|
||||
padding: 0.6rem 0.25rem 0.85rem;
|
||||
flex-wrap: wrap;
|
||||
flex-shrink: 0;
|
||||
}
|
||||
|
||||
.pack-sort-label {
|
||||
font-size: 0.65rem;
|
||||
font-weight: 700;
|
||||
letter-spacing: 0.14em;
|
||||
text-transform: uppercase;
|
||||
color: rgba(255,255,255,0.28);
|
||||
font-family: 'Geist Mono', monospace;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.pack-sort-tabs {
|
||||
display: flex;
|
||||
gap: 0.25rem;
|
||||
padding: 0.2rem;
|
||||
background: rgba(255,255,255,0.05);
|
||||
border-radius: 7px;
|
||||
}
|
||||
|
||||
.pack-sort-tab {
|
||||
padding: 0.3rem 0.85rem;
|
||||
border-radius: 5px;
|
||||
border: none;
|
||||
background: transparent;
|
||||
color: rgba(255,255,255,0.35);
|
||||
font-size: 0.78rem;
|
||||
font-weight: 600;
|
||||
cursor: pointer;
|
||||
transition: background 0.15s ease, color 0.15s ease;
|
||||
font-family: 'Geist', sans-serif;
|
||||
}
|
||||
|
||||
.pack-sort-tab:hover {
|
||||
color: rgba(255,255,255,0.65);
|
||||
}
|
||||
|
||||
.pack-sort-tab.active {
|
||||
background: rgba(255,255,255,0.1);
|
||||
color: #fff;
|
||||
box-shadow: 0 1px 4px rgba(0,0,0,0.3);
|
||||
}
|
||||
|
||||
/* Player selector */
|
||||
.pack-player-select {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 0.5rem;
|
||||
margin-left: auto;
|
||||
}
|
||||
|
||||
.pack-player-dropdown {
|
||||
padding: 0.3rem 0.6rem;
|
||||
background: rgba(255,255,255,0.06);
|
||||
border: 1px solid rgba(255,255,255,0.1);
|
||||
border-radius: 6px;
|
||||
color: #fff;
|
||||
font-size: 0.78rem;
|
||||
font-family: 'Geist', sans-serif;
|
||||
cursor: pointer;
|
||||
outline: none;
|
||||
transition: border-color 0.15s ease;
|
||||
max-width: 160px;
|
||||
}
|
||||
|
||||
.pack-player-dropdown:hover,
|
||||
.pack-player-dropdown:focus {
|
||||
border-color: rgba(255,255,255,0.25);
|
||||
}
|
||||
|
||||
.pack-player-dropdown option {
|
||||
background: #1a1d23;
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
/* ════════════════════════════════════════
|
||||
LEVEL CARD ADDITIONS
|
||||
════════════════════════════════════════ */
|
||||
|
||||
/* completed state */
|
||||
.pack-level-card.pack-level-done {
|
||||
border-color: rgba(255,255,255,0.15);
|
||||
}
|
||||
|
||||
.pack-level-card.pack-level-done .pack-level-bg {
|
||||
filter: blur(3px) brightness(0.3) saturate(0.8);
|
||||
}
|
||||
|
||||
/* completion tick badge */
|
||||
.pack-level-tick {
|
||||
position: absolute;
|
||||
top: 0.5rem;
|
||||
left: 0.5rem;
|
||||
z-index: 3;
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
border-radius: 50%;
|
||||
background: rgba(75, 232, 138, 0.9);
|
||||
color: #000;
|
||||
font-size: 11px;
|
||||
font-weight: 800;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
box-shadow: 0 0 10px rgba(75,232,138,0.5);
|
||||
}
|
||||
|
||||
/* bottom row inside level info */
|
||||
.pack-level-bottom {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 0.5rem;
|
||||
min-width: 0;
|
||||
}
|
||||
|
||||
/* contribution bar track */
|
||||
.pack-contrib-track {
|
||||
flex: 1;
|
||||
height: 3px;
|
||||
background: rgba(255,255,255,0.08);
|
||||
border-radius: 99px;
|
||||
overflow: hidden;
|
||||
min-width: 20px;
|
||||
max-width: 120px;
|
||||
}
|
||||
|
||||
.pack-contrib-fill {
|
||||
height: 100%;
|
||||
border-radius: 99px;
|
||||
transition: width 0.5s cubic-bezier(0.22, 1, 0.36, 1);
|
||||
opacity: 0.85;
|
||||
}
|
||||
|
||||
.pack-contrib-pct {
|
||||
font-family: 'Geist Mono', monospace;
|
||||
font-size: 0.62rem;
|
||||
font-weight: 600;
|
||||
color: rgba(255,255,255,0.3);
|
||||
white-space: nowrap;
|
||||
flex-shrink: 0;
|
||||
}
|
||||
|
||||
/* ── Responsive ── */
|
||||
@media (max-width: 640px) {
|
||||
.pack-picker { width: 220px; }
|
||||
.pack-hero { height: 160px; }
|
||||
.pack-hero-name { font-size: 1.3rem; }
|
||||
.pack-level-card { height: 70px; }
|
||||
.pack-level-name { font-size: 0.9rem; }
|
||||
}
|
||||
572
css/pages/roulette.css
Normal file
572
css/pages/roulette.css
Normal file
@@ -0,0 +1,572 @@
|
||||
/* ============================================================
|
||||
roulette.css — Revamped Demon Roulette
|
||||
============================================================ */
|
||||
|
||||
@import url('https://fonts.bunny.net/css?family=geist:300,400,500,600,700,800|geist-mono:400,500,700&display=swap');
|
||||
|
||||
.page-roulette,
|
||||
.page-roulette * {
|
||||
font-family: 'Geist', sans-serif;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
/* ════════════════════════════════════════
|
||||
SIDEBAR
|
||||
════════════════════════════════════════ */
|
||||
.page-roulette .sidebar {
|
||||
padding: 1.5rem;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 1.75rem;
|
||||
align-items: stretch;
|
||||
overflow-y: auto;
|
||||
}
|
||||
|
||||
.page-roulette .sidebar-header {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 0.4rem;
|
||||
}
|
||||
|
||||
.page-roulette .sidebar-title {
|
||||
font-size: 1.2rem;
|
||||
font-weight: 800;
|
||||
margin: 0;
|
||||
background: linear-gradient(135deg, #fff 55%, rgba(255,213,74,0.8) 100%);
|
||||
-webkit-background-clip: text;
|
||||
background-clip: text;
|
||||
color: transparent;
|
||||
}
|
||||
|
||||
.page-roulette .sidebar-credit {
|
||||
font-size: 0.75rem;
|
||||
color: rgba(255,255,255,0.35);
|
||||
line-height: 1.5;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.page-roulette .sidebar-credit a {
|
||||
color: rgba(255,255,255,0.55);
|
||||
text-decoration: underline;
|
||||
transition: color 0.15s;
|
||||
}
|
||||
|
||||
.page-roulette .sidebar-credit a:hover {
|
||||
color: #ffd54a;
|
||||
}
|
||||
|
||||
/* ── Progress panel ── */
|
||||
.page-roulette .sidebar-progress {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 0.5rem;
|
||||
padding: 0.85rem 1rem;
|
||||
background: rgba(255,255,255,0.04);
|
||||
border: 1px solid rgba(255,255,255,0.07);
|
||||
border-radius: 10px;
|
||||
}
|
||||
|
||||
.page-roulette .sp-row {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.page-roulette .sp-label {
|
||||
font-size: 0.7rem;
|
||||
font-weight: 600;
|
||||
letter-spacing: 0.1em;
|
||||
text-transform: uppercase;
|
||||
color: rgba(255,255,255,0.3);
|
||||
font-family: 'Geist Mono', monospace;
|
||||
}
|
||||
|
||||
.page-roulette .sp-val {
|
||||
font-size: 0.85rem;
|
||||
font-weight: 700;
|
||||
color: rgba(255,255,255,0.75);
|
||||
font-family: 'Geist Mono', monospace;
|
||||
}
|
||||
|
||||
.page-roulette .sp-pct { color: #4be88a; }
|
||||
.page-roulette .sp-streak { color: #ff9c4b; }
|
||||
|
||||
.page-roulette .sp-track {
|
||||
height: 5px;
|
||||
background: rgba(255,255,255,0.08);
|
||||
border-radius: 99px;
|
||||
overflow: hidden;
|
||||
margin: 0.1rem 0;
|
||||
}
|
||||
|
||||
.page-roulette .sp-fill {
|
||||
height: 100%;
|
||||
border-radius: 99px;
|
||||
background: linear-gradient(90deg, #4b9de8, #4be88a);
|
||||
box-shadow: 0 0 10px rgba(75,232,138,0.4);
|
||||
transition: width 0.6s cubic-bezier(0.22, 1, 0.36, 1);
|
||||
}
|
||||
|
||||
/* ── Options form ── */
|
||||
.page-roulette .options {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 0.75rem;
|
||||
align-items: flex-start;
|
||||
}
|
||||
|
||||
.page-roulette .options-heading {
|
||||
font-size: 0.65rem;
|
||||
font-weight: 700;
|
||||
letter-spacing: 0.18em;
|
||||
text-transform: uppercase;
|
||||
color: rgba(255,255,255,0.28);
|
||||
margin: 0 0 0.15rem;
|
||||
font-family: 'Geist Mono', monospace;
|
||||
}
|
||||
|
||||
.page-roulette .check {
|
||||
display: flex;
|
||||
gap: 0.6rem;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.page-roulette .check input[type="checkbox"] {
|
||||
width: 15px;
|
||||
height: 15px;
|
||||
accent-color: #ffd54a;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.page-roulette .check label {
|
||||
font-size: 0.85rem;
|
||||
font-weight: 500;
|
||||
color: rgba(255,255,255,0.75);
|
||||
cursor: pointer;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 0.4rem;
|
||||
}
|
||||
|
||||
.page-roulette .check-sub {
|
||||
font-size: 0.65rem;
|
||||
color: rgba(255,255,255,0.3);
|
||||
font-family: 'Geist Mono', monospace;
|
||||
}
|
||||
|
||||
/* ── Save / load ── */
|
||||
.page-roulette .save {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 0.6rem;
|
||||
align-items: flex-start;
|
||||
}
|
||||
|
||||
.page-roulette .save .btns {
|
||||
display: flex;
|
||||
gap: 0.6rem;
|
||||
}
|
||||
|
||||
/* ════════════════════════════════════════
|
||||
LEVELS FEED
|
||||
════════════════════════════════════════ */
|
||||
.page-roulette .levels-container {
|
||||
grid-row: 1;
|
||||
grid-column: 2 / span 2;
|
||||
overflow-y: auto;
|
||||
padding-right: 2rem;
|
||||
/* subtle scroll hint */
|
||||
box-shadow: inset 0 -24px 20px -20px rgba(0,0,0,0.4);
|
||||
}
|
||||
|
||||
.page-roulette .levels {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
padding: 2rem 0;
|
||||
gap: 0.75rem;
|
||||
}
|
||||
|
||||
/* ── Empty / start prompt ── */
|
||||
.page-roulette .roulette-start-prompt,
|
||||
.page-roulette .roulette-empty {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
gap: 0.75rem;
|
||||
padding: 4rem 2rem;
|
||||
color: rgba(255,255,255,0.2);
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.page-roulette .roulette-start-icon,
|
||||
.page-roulette .roulette-empty-icon {
|
||||
font-size: 3rem;
|
||||
line-height: 1;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.page-roulette .roulette-start-text,
|
||||
.page-roulette .roulette-empty-text {
|
||||
font-size: 0.9rem;
|
||||
font-weight: 500;
|
||||
color: rgba(255,255,255,0.25);
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
/* ── Level card (shared base) ── */
|
||||
.page-roulette .level {
|
||||
position: relative;
|
||||
border-radius: 10px;
|
||||
overflow: hidden;
|
||||
border: 1px solid rgba(255,255,255,0.06);
|
||||
display: grid;
|
||||
grid-template-columns: 11rem 1fr;
|
||||
grid-auto-rows: auto;
|
||||
transition: border-color 0.15s ease, box-shadow 0.15s ease;
|
||||
}
|
||||
|
||||
.page-roulette .level:hover {
|
||||
border-color: rgba(255,255,255,0.13);
|
||||
box-shadow: 0 4px 20px rgba(0,0,0,0.4);
|
||||
}
|
||||
|
||||
/* blurred background thumbnail */
|
||||
.page-roulette .level-bg {
|
||||
position: absolute;
|
||||
inset: 0;
|
||||
background-size: cover;
|
||||
background-position: center;
|
||||
filter: blur(4px) brightness(0.18) saturate(0.5);
|
||||
transform: scale(1.06);
|
||||
transition: filter 0.3s ease;
|
||||
z-index: 0;
|
||||
}
|
||||
|
||||
.page-roulette .level:hover .level-bg {
|
||||
filter: blur(3px) brightness(0.25) saturate(0.7);
|
||||
}
|
||||
|
||||
/* tint overlays per state */
|
||||
.page-roulette .level-tint {
|
||||
position: absolute;
|
||||
inset: 0;
|
||||
z-index: 1;
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
.page-roulette .level-tint-done {
|
||||
background: linear-gradient(90deg, rgba(0,181,75,0.08) 0%, transparent 60%);
|
||||
}
|
||||
|
||||
.page-roulette .level-tint-current {
|
||||
background: linear-gradient(90deg, rgba(58,110,232,0.12) 0%, transparent 60%);
|
||||
}
|
||||
|
||||
.page-roulette .level-tint-remaining {
|
||||
background: linear-gradient(90deg, rgba(213,0,0,0.08) 0%, transparent 60%);
|
||||
}
|
||||
|
||||
/* coloured left edge strip per state */
|
||||
.page-roulette .level-done::before,
|
||||
.page-roulette .level-current::before,
|
||||
.page-roulette .level-remaining::before {
|
||||
content: '';
|
||||
position: absolute;
|
||||
left: 0;
|
||||
top: 10%;
|
||||
height: 80%;
|
||||
width: 3px;
|
||||
border-radius: 0 2px 2px 0;
|
||||
z-index: 3;
|
||||
}
|
||||
|
||||
.page-roulette .level-done::before { background: #4be88a; box-shadow: 0 0 10px rgba(75,232,138,0.5); }
|
||||
.page-roulette .level-current::before { background: #4b9de8; box-shadow: 0 0 10px rgba(75,157,232,0.5); }
|
||||
.page-roulette .level-remaining::before { background: #e84b4b; box-shadow: 0 0 10px rgba(232,75,75,0.5); }
|
||||
|
||||
/* ── Video thumbnail cell ── */
|
||||
.page-roulette .video {
|
||||
position: relative;
|
||||
z-index: 2;
|
||||
display: block;
|
||||
overflow: hidden;
|
||||
height: 100%;
|
||||
min-height: 80px;
|
||||
}
|
||||
|
||||
.page-roulette .video img {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
object-fit: cover;
|
||||
display: block;
|
||||
transition: transform 0.3s ease, filter 0.3s ease;
|
||||
}
|
||||
|
||||
.page-roulette .level:hover .video img {
|
||||
transform: scale(1.04);
|
||||
}
|
||||
|
||||
.page-roulette .video-play {
|
||||
position: absolute;
|
||||
inset: 0;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
font-size: 1.5rem;
|
||||
color: rgba(255,255,255,0);
|
||||
background: rgba(0,0,0,0);
|
||||
transition: all 0.2s ease;
|
||||
}
|
||||
|
||||
.page-roulette .level:hover .video-play {
|
||||
color: rgba(255,255,255,0.9);
|
||||
background: rgba(0,0,0,0.35);
|
||||
}
|
||||
|
||||
/* ── Meta cell ── */
|
||||
.page-roulette .meta {
|
||||
position: relative;
|
||||
z-index: 2;
|
||||
padding: 0.85rem 1rem;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 0.3rem;
|
||||
}
|
||||
|
||||
.page-roulette .meta-rank {
|
||||
font-size: 0.65rem;
|
||||
font-weight: 700;
|
||||
letter-spacing: 0.14em;
|
||||
text-transform: uppercase;
|
||||
color: rgba(255,255,255,0.3);
|
||||
font-family: 'Geist Mono', monospace;
|
||||
}
|
||||
|
||||
.page-roulette .meta-name {
|
||||
font-size: 1.05rem;
|
||||
font-weight: 700;
|
||||
color: #fff;
|
||||
margin: 0;
|
||||
line-height: 1.2;
|
||||
text-shadow: 0 1px 8px rgba(0,0,0,0.6);
|
||||
}
|
||||
|
||||
.page-roulette .meta-id {
|
||||
font-size: 0.7rem;
|
||||
color: rgba(255,255,255,0.25);
|
||||
font-family: 'Geist Mono', monospace;
|
||||
}
|
||||
|
||||
.page-roulette .meta-badge {
|
||||
display: inline-block;
|
||||
margin-top: 0.2rem;
|
||||
font-size: 0.62rem;
|
||||
font-weight: 700;
|
||||
letter-spacing: 0.1em;
|
||||
text-transform: uppercase;
|
||||
padding: 0.15rem 0.5rem;
|
||||
border-radius: 99px;
|
||||
background: rgba(75,157,232,0.2);
|
||||
border: 1px solid rgba(75,157,232,0.4);
|
||||
color: #4b9de8;
|
||||
width: fit-content;
|
||||
}
|
||||
|
||||
.page-roulette .meta-pct {
|
||||
font-size: 0.85rem;
|
||||
font-weight: 700;
|
||||
font-family: 'Geist Mono', monospace;
|
||||
margin-top: auto;
|
||||
}
|
||||
|
||||
.page-roulette .meta-pct-done { color: #4be88a; }
|
||||
.page-roulette .meta-pct-missed { color: #e84b4b; }
|
||||
|
||||
/* ── Actions bar (percent input + buttons) ── */
|
||||
.page-roulette .actions {
|
||||
position: relative;
|
||||
z-index: 2;
|
||||
grid-column: 1 / span 2;
|
||||
display: flex;
|
||||
gap: 0.6rem;
|
||||
align-items: center;
|
||||
padding: 0.75rem 1rem;
|
||||
background: rgba(0,0,0,0.35);
|
||||
border-top: 1px solid rgba(255,255,255,0.06);
|
||||
backdrop-filter: blur(6px);
|
||||
}
|
||||
|
||||
.page-roulette .pct-input {
|
||||
flex: 1;
|
||||
border: 1px solid rgba(255,255,255,0.1);
|
||||
border-radius: 7px;
|
||||
padding: 0.55rem 0.85rem;
|
||||
background: rgba(255,255,255,0.07);
|
||||
color: #fff;
|
||||
font-size: 0.9rem;
|
||||
font-family: 'Geist Mono', monospace;
|
||||
transition: border-color 0.15s ease, background 0.15s ease;
|
||||
outline: none;
|
||||
}
|
||||
|
||||
.page-roulette .pct-input:focus {
|
||||
border-color: rgba(255,255,255,0.3);
|
||||
background: rgba(255,255,255,0.1);
|
||||
}
|
||||
|
||||
.page-roulette .pct-input::placeholder {
|
||||
color: rgba(255,255,255,0.25);
|
||||
}
|
||||
|
||||
/* ── Results panel ── */
|
||||
.page-roulette .results {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
gap: 1rem;
|
||||
padding: 2.5rem 1.5rem;
|
||||
background: rgba(255,255,255,0.03);
|
||||
border: 1px solid rgba(255,255,255,0.07);
|
||||
border-radius: 12px;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.page-roulette .results-icon {
|
||||
font-size: 3rem;
|
||||
line-height: 1;
|
||||
}
|
||||
|
||||
.page-roulette .results-title {
|
||||
font-size: 1.8rem;
|
||||
font-weight: 800;
|
||||
margin: 0;
|
||||
background: linear-gradient(135deg, #fff 50%, rgba(255,213,74,0.8) 100%);
|
||||
-webkit-background-clip: text;
|
||||
background-clip: text;
|
||||
color: transparent;
|
||||
}
|
||||
|
||||
.page-roulette .results-stats {
|
||||
display: flex;
|
||||
gap: 0;
|
||||
border: 1px solid rgba(255,255,255,0.07);
|
||||
border-radius: 10px;
|
||||
overflow: hidden;
|
||||
background: rgba(255,255,255,0.03);
|
||||
width: 100%;
|
||||
max-width: 360px;
|
||||
}
|
||||
|
||||
.page-roulette .rstat {
|
||||
flex: 1;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
gap: 0.25rem;
|
||||
padding: 0.85rem 0.5rem;
|
||||
border-right: 1px solid rgba(255,255,255,0.06);
|
||||
transition: background 0.15s ease;
|
||||
}
|
||||
|
||||
.page-roulette .rstat:last-child { border-right: none; }
|
||||
.page-roulette .rstat:hover { background: rgba(255,255,255,0.04); }
|
||||
|
||||
.page-roulette .rstat-val {
|
||||
font-size: 1.4rem;
|
||||
font-weight: 800;
|
||||
color: #fff;
|
||||
font-family: 'Geist Mono', monospace;
|
||||
}
|
||||
|
||||
.page-roulette .rstat-key {
|
||||
font-size: 0.6rem;
|
||||
font-weight: 700;
|
||||
letter-spacing: 0.14em;
|
||||
text-transform: uppercase;
|
||||
color: rgba(255,255,255,0.3);
|
||||
}
|
||||
|
||||
/* ════════════════════════════════════════
|
||||
TOASTS
|
||||
════════════════════════════════════════ */
|
||||
.page-roulette .toasts-container {
|
||||
overflow-y: auto;
|
||||
grid-column: 2 / span 2;
|
||||
grid-row: 1;
|
||||
align-self: start;
|
||||
margin-block: 2rem;
|
||||
margin-right: 2rem;
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
.page-roulette .toasts {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 0.6rem;
|
||||
}
|
||||
|
||||
.page-roulette .toast {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 0.6rem;
|
||||
background: rgba(213,0,0,0.9);
|
||||
backdrop-filter: blur(8px);
|
||||
color: #fff;
|
||||
padding: 0.75rem 1rem;
|
||||
border-radius: 8px;
|
||||
border: 1px solid rgba(255,100,100,0.3);
|
||||
box-shadow: 0 4px 16px rgba(213,0,0,0.4);
|
||||
font-size: 0.85rem;
|
||||
font-weight: 500;
|
||||
pointer-events: all;
|
||||
}
|
||||
|
||||
.page-roulette .toast-icon {
|
||||
font-size: 1rem;
|
||||
flex-shrink: 0;
|
||||
}
|
||||
|
||||
.page-roulette .toast p { margin: 0; }
|
||||
|
||||
/* Toast slide-in transition */
|
||||
.toast-enter-active {
|
||||
transition: opacity 0.25s ease, transform 0.25s ease;
|
||||
}
|
||||
.toast-leave-active {
|
||||
transition: opacity 0.2s ease, transform 0.2s ease;
|
||||
}
|
||||
.toast-enter-from {
|
||||
opacity: 0;
|
||||
transform: translateX(20px);
|
||||
}
|
||||
.toast-leave-to {
|
||||
opacity: 0;
|
||||
transform: translateX(20px);
|
||||
}
|
||||
|
||||
/* ════════════════════════════════════════
|
||||
RESPONSIVE
|
||||
════════════════════════════════════════ */
|
||||
@media screen and (min-width: 1366px) {
|
||||
.page-roulette .levels-container {
|
||||
grid-column: 2;
|
||||
padding-right: 0;
|
||||
}
|
||||
.page-roulette .toasts-container {
|
||||
grid-column: 3;
|
||||
margin: 0;
|
||||
padding-right: 2rem;
|
||||
padding-block: 2rem;
|
||||
align-self: stretch;
|
||||
}
|
||||
}
|
||||
|
||||
@media screen and (max-width: 768px) {
|
||||
.page-roulette .level {
|
||||
grid-template-columns: 8rem 1fr;
|
||||
}
|
||||
.page-roulette .meta-name {
|
||||
font-size: 0.9rem;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user