seitime-st/st/sei_time/page/characters/characters.css

291 lines
5.6 KiB
CSS

body {
background-color: #1f002b;
}
/* =====================
Grid
===================== */
.characters-grid {
display: flex;
flex-wrap: wrap;
gap: 32px;
padding: 24px;
}
.character-slot {
display: flex;
flex-direction: column;
align-items: center;
}
/* =====================
Deathclock
===================== */
.deathclock-title {
color: #e8c858;
text-align: center;
font-size: 1.75em;
font-weight: bold;
font-family: Georgia, "Times New Roman", serif;
text-transform: uppercase;
}
.deathclock-wrapper {
width: 226px;
display: flex;
justify-content: center;
align-items: center;
padding: 0px 8px 8px;
font-family: "Courier New", monospace;
}
.deathclock {
display: flex;
gap: 5px;
padding: 2px;
}
.digit {
position: relative;
width: 50px;
height: 90px;
perspective: 700px;
}
.flipcard {
position: absolute;
inset: 0;
border-radius: 10px;
background: linear-gradient(#1d1d1d, #050505);
color: #e8c858;
font-size: 56px;
font-weight: bold;
line-height: 95px;
text-align: center;
overflow: hidden;
}
.flipcard::before {
content: "";
position: absolute;
left: 0;
right: 0;
top: 50%;
height: 2px;
background: #000;
box-shadow:
0 -1px rgba(255,255,255,0.08),
0 1px rgba(255,255,255,0.05);
z-index: 3;
}
.top, .bottom {
position: absolute;
left: 0;
width: 100%;
height: 50%;
overflow: hidden;
background: linear-gradient(#202020, #080808);
color: #e8c858;
font-size: 56px;
font-weight: bold;
text-align: center;
backface-visibility: hidden;
}
.top {
top: 0;
line-height: 90px;
border-radius: 10px 10px 0 0;
transform-origin: bottom;
}
.bottom {
bottom: 0;
line-height: 0;
border-radius: 0 0 10px 10px;
transform-origin: top;
}
.flip-top {
animation: flipTop 0.28s ease-in forwards;
z-index: 5;
}
.flip-bottom {
animation: flipBottom 0.28s ease-out forwards;
z-index: 5;
}
@keyframes flipTop {
from { transform: rotateX(0deg); }
to { transform: rotateX(-90deg); }
}
@keyframes flipBottom {
from { transform: rotateX(90deg); }
to { transform: rotateX(0deg); }
}
.shine {
position: absolute;
inset: 0;
border-radius: 10px;
pointer-events: none;
background: linear-gradient(
115deg,
rgba(255,255,255,0.12),
transparent 35%,
transparent 70%,
rgba(255,255,255,0.05)
);
z-index: 10;
}
/* =====================
Trading Card
===================== */
.trading-card {
width: 226px;
background: linear-gradient(170deg, #3a0a4f 0%, #2c003e 50%, #320848 100%);
border: 2px solid #9a7a28;
border-top: none;
border-radius: 0 0 12px 12px;
box-shadow:
0 0 0 1px #4a1060,
0 16px 40px rgba(0, 0, 0, 0.8),
0 4px 12px rgba(184, 148, 58, 0.12);
overflow: hidden;
position: relative;
transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.trading-card:hover {
transform: translateY(-6px);
box-shadow:
0 0 0 1px #c8a84b,
0 22px 50px rgba(0, 0, 0, 0.9),
0 6px 20px rgba(200, 168, 75, 0.28);
}
/* Inner border inlay */
.trading-card::before {
content: '';
position: absolute;
inset: 5px;
border: 1px solid rgba(250, 204, 21, 0.18);
border-top: none;
border-radius: 0 0 8px 8px;
pointer-events: none;
z-index: 20;
}
/* Diagonal gloss sheen */
.trading-card::after {
content: '';
position: absolute;
inset: 0;
background: linear-gradient(
135deg,
rgba(255, 255, 255, 0.055) 0%,
transparent 45%
);
pointer-events: none;
z-index: 15;
border-radius: inherit;
}
/* =====================
Card Name Band
===================== */
.card-name-band {
background: linear-gradient(to right,
#150020 0%, #2c003e 25%, #3a0a4f 50%, #2c003e 75%, #150020 100%
);
border-bottom: 2px solid #9a7a28;
padding: 9px 14px 8px;
text-align: center;
position: relative;
z-index: 5;
}
.card-name-band a {
color: #e8c858;
font-size: 0.88rem;
font-weight: bold;
text-decoration: none;
text-shadow:
0 0 14px rgba(232, 200, 64, 0.35),
0 1px 4px rgba(0, 0, 0, 0.95);
letter-spacing: 0.08em;
font-family: Georgia, "Times New Roman", serif;
text-transform: uppercase;
display: block;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.card-name-band a:hover {
color: #ffe070;
text-shadow:
0 0 20px rgba(255, 220, 80, 0.55),
0 1px 4px rgba(0, 0, 0, 0.95);
text-decoration: none;
}
/* =====================
Image Stack
===================== */
.image-stack {
position: relative;
width: 100%;
height: 272px;
}
.image-stack .layer {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
object-fit: contain;
}
.image-stack .bg {
z-index: 1;
}
.image-stack .fg {
top: 15%;
height: 72%;
padding: 0 12%;
z-index: 2;
}
.image-stack .frame {
z-index: 3;
}
/* =====================
Card Info Band
===================== */
.card-info-band {
background: linear-gradient(to right,
#150020 0%, #2c003e 25%, #3a0a4f 50%, #2c003e 75%, #150020 100%
);
border-top: 2px solid #9a7a28;
padding: 7px 14px 9px;
text-align: center;
color: #fcd34d;
font-size: 0.72rem;
font-style: italic;
letter-spacing: 0.1em;
position: relative;
z-index: 5;
font-family: Georgia, "Times New Roman", serif;
}