You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
6013 lines
115 KiB
6013 lines
115 KiB
:root { |
|
--bg: #2c1810; |
|
--bg2: #1a0f08; |
|
--panel: #3a2f1f; |
|
--border: #5a4a2a; |
|
--accent: #d4af37; |
|
--text: #d0d0d0; |
|
} |
|
|
|
* { |
|
box-sizing: border-box |
|
} |
|
|
|
body { |
|
margin: 0; |
|
font-family: "JetBrains Mono", ui-monospace, Menlo, Consolas; |
|
background: #000; |
|
color: var(--text) |
|
} |
|
|
|
#app { |
|
width: 100%; |
|
margin: 0; |
|
padding: 0; |
|
min-height: 100vh; |
|
} |
|
|
|
h1, |
|
h2, |
|
h3 { |
|
margin: 8px 0 |
|
} |
|
|
|
.panel { |
|
background: var(--panel); |
|
border: 1px solid var(--border); |
|
border-radius: 12px; |
|
padding: 12px; |
|
margin: 8px 0 |
|
} |
|
|
|
.row { |
|
display: flex; |
|
gap: 12px; |
|
flex-wrap: wrap |
|
} |
|
|
|
.col { |
|
flex: 1 1 300px |
|
} |
|
|
|
.btn { |
|
background: var(--accent); |
|
color: #00123a; |
|
border: none; |
|
border-radius: 8px; |
|
padding: 8px 12px; |
|
cursor: pointer; |
|
font-weight: 700 |
|
} |
|
|
|
.btn.secondary { |
|
background: #2a3247; |
|
color: #d6d9e4 |
|
} |
|
|
|
.btn:disabled { |
|
opacity: .5; |
|
cursor: not-allowed |
|
} |
|
|
|
.grid { |
|
display: grid; |
|
gap: 10px |
|
} |
|
|
|
.map { |
|
display: grid; |
|
grid-template-columns: repeat(5, 1fr); |
|
gap: 10px |
|
} |
|
|
|
.node { |
|
padding: 8px; |
|
border-radius: 10px; |
|
border: 1px solid var(--border); |
|
background: #21283b; |
|
text-align: center; |
|
cursor: pointer |
|
} |
|
|
|
.node.locked { |
|
opacity: .5; |
|
cursor: not-allowed |
|
} |
|
|
|
.tag { |
|
font-size: 12px; |
|
opacity: .8 |
|
} |
|
|
|
.cards { |
|
display: flex; |
|
gap: 8px; |
|
flex-wrap: wrap |
|
} |
|
|
|
.card { |
|
width: 180px; |
|
background: #23293c; |
|
border: 1px solid #334064; |
|
border-radius: 10px; |
|
padding: 10px; |
|
cursor: pointer |
|
} |
|
|
|
.card:hover { |
|
transform: translateY(-2px) |
|
} |
|
|
|
.kv { |
|
display: flex; |
|
gap: 8px; |
|
align-items: center |
|
} |
|
|
|
.small { |
|
font-size: 12px; |
|
opacity: .85 |
|
} |
|
|
|
.badge { |
|
background: #2a3247; |
|
border: 1px solid #334064; |
|
border-radius: 999px; |
|
padding: 2px 8px; |
|
font-size: 12px |
|
} |
|
|
|
.badge.danger { |
|
background: #dc3545; |
|
color: white; |
|
} |
|
|
|
.badge.debuff { |
|
background: #6f42c1; |
|
color: white; |
|
} |
|
|
|
.badge.gold { |
|
background: #ffc107; |
|
color: #000; |
|
} |
|
|
|
.intent-attack { |
|
color: #dc3545; |
|
font-weight: bold; |
|
} |
|
|
|
.intent-block { |
|
color: #6ea8fe; |
|
font-weight: bold; |
|
} |
|
|
|
.intent-debuff { |
|
color: #6f42c1; |
|
font-weight: bold; |
|
} |
|
|
|
.relics { |
|
display: flex; |
|
gap: 8px; |
|
flex-wrap: wrap; |
|
} |
|
|
|
.relic { |
|
background: #2a3247; |
|
border: 1px solid #ffc107; |
|
border-radius: 8px; |
|
padding: 4px 8px; |
|
font-size: 12px; |
|
cursor: help; |
|
} |
|
|
|
.relic:hover { |
|
background: #334064; |
|
} |
|
|
|
|
|
.battle-scene { |
|
min-height: 100vh; |
|
width: 100vw; |
|
background: linear-gradient(135deg, #2c1810 0%, #1a0f08 100%); |
|
position: relative; |
|
overflow: hidden; |
|
display: grid; |
|
grid-template-rows: auto 1fr; |
|
} |
|
|
|
.fight-log-panel { |
|
position: fixed; |
|
bottom: 20px; |
|
left: 20px; |
|
width: 400px; |
|
height: 250px; |
|
background: linear-gradient(135deg, rgba(42, 42, 58, 0.4) 0%, rgba(26, 26, 42, 0.4) 100%); |
|
border: 2px solid #3a3a4a; |
|
border-radius: 8px; |
|
box-shadow: 0 4px 20px rgba(0, 0, 0, 0.5); |
|
z-index: 1000; |
|
display: flex; |
|
flex-direction: column; |
|
} |
|
|
|
.fight-log-header { |
|
background: linear-gradient(135deg, #3a3a4a 0%, #2a2a3a 100%); |
|
padding: 8px 12px; |
|
border-bottom: 1px solid #4a4a5a; |
|
border-radius: 6px 6px 0 0; |
|
} |
|
|
|
.fight-log-title { |
|
color: #e0e0e0; |
|
font-size: 14px; |
|
font-weight: 600; |
|
font-family: 'JetBrains Mono', monospace; |
|
} |
|
|
|
.fight-log-content { |
|
flex: 1; |
|
padding: 8px; |
|
overflow-y: auto; |
|
overflow-x: hidden; |
|
scrollbar-width: thin; |
|
scrollbar-color: #4a4a5a #2a2a3a; |
|
} |
|
|
|
.fight-log-content::-webkit-scrollbar { |
|
width: 6px; |
|
} |
|
|
|
.fight-log-content::-webkit-scrollbar-track { |
|
background: #2a2a3a; |
|
border-radius: 3px; |
|
} |
|
|
|
.fight-log-content::-webkit-scrollbar-thumb { |
|
background: #4a4a5a; |
|
border-radius: 3px; |
|
} |
|
|
|
.fight-log-content::-webkit-scrollbar-thumb:hover { |
|
background: #5a5a6a; |
|
} |
|
|
|
.log-entry { |
|
color: #c0c0c0; |
|
font-size: 12px; |
|
font-family: 'JetBrains Mono', monospace; |
|
line-height: 1.4; |
|
margin-bottom: 4px; |
|
padding: 2px 4px; |
|
border-radius: 3px; |
|
word-wrap: break-word; |
|
} |
|
|
|
.log-entry:last-child { |
|
margin-bottom: 0; |
|
} |
|
|
|
.log-entry:hover { |
|
background: rgba(255, 255, 255, 0.05); |
|
} |
|
|
|
|
|
.top-hud { |
|
position: relative; |
|
z-index: 50; |
|
} |
|
|
|
.player-health-hud { |
|
display: flex; |
|
justify-content: space-between; |
|
align-items: center; |
|
background: linear-gradient(135deg, #3a2f1f 0%, #2a1f0f 100%); |
|
border: 2px solid #5a4a2a; |
|
border-radius: 6px; |
|
padding: 12px 20px; |
|
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1); |
|
} |
|
|
|
.health-section { |
|
display: flex; |
|
align-items: center; |
|
gap: 15px; |
|
flex: 1; |
|
} |
|
|
|
.health-icon { |
|
font-size: 24px; |
|
filter: drop-shadow(0 0 8px rgba(220, 53, 69, 0.6)); |
|
} |
|
|
|
.health-bar-large { |
|
position: relative; |
|
flex: 1; |
|
max-width: 300px; |
|
height: 30px; |
|
background: linear-gradient(135deg, #2a1a0a 0%, #1a0f08 100%); |
|
|
|
overflow: hidden; |
|
box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.5); |
|
} |
|
|
|
.health-bar { |
|
position: relative; |
|
width: 270px; |
|
height: 30px; |
|
background: linear-gradient(135deg, #2a1a0a 0%, #1a0f08 100%); |
|
border: 2px solid #4a3a2a; |
|
overflow: hidden; |
|
box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.5); |
|
} |
|
|
|
.health-fill-large { |
|
height: 100%; |
|
background: linear-gradient(90deg, #dc3545 0%, #c82333 100%); |
|
transition: width 0.3s ease; |
|
} |
|
|
|
.health-fill { |
|
height: 100%; |
|
background: linear-gradient(90deg, #dc3545 0%, #c82333 100%); |
|
transition: width 0.3s ease; |
|
position: relative; |
|
box-shadow: 0 0 8px rgba(220, 53, 69, 0.3); |
|
} |
|
|
|
.health-text-large { |
|
position: absolute; |
|
top: 50%; |
|
left: 50%; |
|
transform: translate(-50%, -50%); |
|
font-weight: bold; |
|
font-size: 12px; |
|
color: white; |
|
text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.8); |
|
z-index: 2; |
|
} |
|
|
|
.health-text { |
|
position: absolute; |
|
top: 50%; |
|
left: 50%; |
|
transform: translate(-50%, -50%); |
|
font-weight: bold; |
|
font-size: 13px; |
|
color: white; |
|
text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.8); |
|
z-index: 2; |
|
} |
|
|
|
.hud-stats { |
|
display: flex; |
|
align-items: center; |
|
gap: 15px; |
|
} |
|
|
|
.energy-section, |
|
.gold-section, |
|
.block-section, |
|
.relics-section { |
|
display: flex; |
|
align-items: center; |
|
gap: 4px; |
|
} |
|
|
|
.energy-label, |
|
.gold-icon, |
|
.block-icon, |
|
.relics-label { |
|
font-size: 14px; |
|
} |
|
|
|
.gold-icon-img { |
|
width: 14px; |
|
height: 14px; |
|
object-fit: contain; |
|
} |
|
|
|
.relics-label-img { |
|
width: 14px; |
|
height: 14px; |
|
object-fit: contain; |
|
} |
|
|
|
.health-icon-img { |
|
width: 24px; |
|
height: 24px; |
|
object-fit: contain; |
|
} |
|
|
|
.counter-icon-img { |
|
width: 16px; |
|
height: 16px; |
|
object-fit: contain; |
|
} |
|
|
|
.deck-header-icon { |
|
width: 20px; |
|
height: 20px; |
|
object-fit: contain; |
|
vertical-align: middle; |
|
margin-right: 8px; |
|
} |
|
|
|
.node-icon-img { |
|
width: 24px; |
|
height: 24px; |
|
object-fit: contain; |
|
filter: drop-shadow(1px 1px 2px rgba(0, 0, 0, 0.8)); |
|
display: block; |
|
margin: 0 auto; |
|
} |
|
|
|
.legend-icon-img { |
|
width: 16px; |
|
height: 16px; |
|
object-fit: contain; |
|
vertical-align: middle; |
|
margin-right: 4px; |
|
} |
|
|
|
.tooltip-icon-img { |
|
width: 16px; |
|
height: 16px; |
|
object-fit: contain; |
|
vertical-align: middle; |
|
margin-right: 4px; |
|
} |
|
|
|
.block-icon-img { |
|
width: 14px; |
|
height: 14px; |
|
object-fit: contain; |
|
} |
|
|
|
.shield-effect-img { |
|
width: 16px; |
|
height: 16px; |
|
object-fit: contain; |
|
} |
|
|
|
.debuff-effect-img { |
|
width: 16px; |
|
height: 16px; |
|
object-fit: contain; |
|
} |
|
|
|
.energy-orbs-top { |
|
display: flex; |
|
gap: 2px; |
|
} |
|
|
|
.energy-orb-top { |
|
width: 12px; |
|
height: 12px; |
|
border-radius: 50%; |
|
border: 1px solid #d4af37; |
|
transition: all 0.2s ease; |
|
} |
|
|
|
.energy-orb-top.active { |
|
background: linear-gradient(135deg, #d4af37 0%, #b8941f 100%); |
|
box-shadow: 0 0 6px rgba(212, 175, 55, 0.6); |
|
} |
|
|
|
.energy-orb-top.inactive { |
|
background: transparent; |
|
opacity: 0.4; |
|
} |
|
|
|
.gold-amount, |
|
.block-amount { |
|
font-weight: bold; |
|
font-size: 14px; |
|
color: #d4af37; |
|
text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.8); |
|
} |
|
|
|
.block-amount { |
|
color: #8a9ba8; |
|
text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.8); |
|
} |
|
|
|
.relics-top { |
|
display: flex; |
|
gap: 4px; |
|
} |
|
|
|
.relic-top { |
|
font-size: 14px; |
|
padding: 2px 4px; |
|
background: rgba(255, 193, 7, 0.2); |
|
border-radius: 4px; |
|
cursor: help; |
|
} |
|
|
|
.bg-particles { |
|
position: absolute; |
|
width: 100%; |
|
height: 100%; |
|
background: radial-gradient(2px 2px at 20px 30px, rgba(110, 168, 254, 0.3), transparent), |
|
radial-gradient(2px 2px at 40px 70px, rgba(255, 193, 7, 0.2), transparent), |
|
radial-gradient(1px 1px at 90px 40px, rgba(220, 53, 69, 0.3), transparent), |
|
radial-gradient(1px 1px at 130px 80px, rgba(110, 168, 254, 0.2), transparent); |
|
animation: sparkle 3s ease-in-out infinite alternate; |
|
} |
|
|
|
.bg-glow { |
|
position: absolute; |
|
top: 50%; |
|
left: 50%; |
|
width: 800px; |
|
height: 400px; |
|
background: radial-gradient(ellipse, rgba(110, 168, 254, 0.1) 0%, transparent 70%); |
|
transform: translate(-50%, -50%); |
|
animation: pulse 4s ease-in-out infinite; |
|
} |
|
|
|
@keyframes sparkle { |
|
0% { |
|
opacity: 0.3; |
|
} |
|
|
|
100% { |
|
opacity: 0.8; |
|
} |
|
} |
|
|
|
@keyframes pulse { |
|
|
|
0%, |
|
100% { |
|
transform: translate(-50%, -50%) scale(1); |
|
opacity: 0.1; |
|
} |
|
|
|
50% { |
|
transform: translate(-50%, -50%) scale(1.1); |
|
opacity: 0.2; |
|
} |
|
} |
|
|
|
|
|
.battle-arena { |
|
position: relative; |
|
width: 100%; |
|
height: 100vh; |
|
|
|
} |
|
|
|
|
|
.enemy-battle-zone { |
|
position: absolute; |
|
top: 390px; |
|
right: 80px; |
|
display: flex; |
|
justify-content: flex-end; |
|
align-items: flex-start; |
|
z-index: 2; |
|
} |
|
|
|
|
|
.player-battle-zone { |
|
position: absolute; |
|
top: 390px; |
|
left: 80px; |
|
display: flex; |
|
justify-content: flex-start; |
|
align-items: flex-start; |
|
z-index: 2; |
|
} |
|
|
|
.enemy-container { |
|
display: flex; |
|
gap: 40px; |
|
align-items: center; |
|
max-width: 1000px; |
|
} |
|
|
|
.player-container { |
|
display: flex; |
|
gap: 40px; |
|
align-items: center; |
|
max-width: 1000px; |
|
} |
|
|
|
.enemy-character { |
|
position: relative; |
|
} |
|
|
|
.player-character { |
|
position: relative; |
|
} |
|
|
|
.enemy-sprite { |
|
position: relative; |
|
display: flex; |
|
flex-direction: column; |
|
align-items: center; |
|
} |
|
|
|
.enemy-avatar { |
|
width: 120px; |
|
height: 120px; |
|
border-radius: 50%; |
|
overflow: hidden; |
|
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.4), 0 0 20px rgba(220, 53, 69, 0.5); |
|
animation: enemyIdle 2s ease-in-out infinite alternate; |
|
position: relative; |
|
z-index: 2; |
|
display: flex; |
|
align-items: center; |
|
justify-content: center; |
|
background: linear-gradient(135deg, #4a4a4a 0%, #2a2a2a 100%); |
|
} |
|
|
|
.enemy-avatar-img { |
|
width: 100%; |
|
height: 100%; |
|
object-fit: cover; |
|
border-radius: 50%; |
|
} |
|
|
|
.enemy-fallback-emoji { |
|
font-size: 120px; |
|
text-shadow: 0 0 20px rgba(220, 53, 69, 0.5); |
|
} |
|
|
|
.enemy-shadow { |
|
width: 80px; |
|
height: 20px; |
|
background: radial-gradient(ellipse, rgba(0, 0, 0, 0.3) 0%, transparent 70%); |
|
margin-top: -10px; |
|
animation: shadowPulse 2s ease-in-out infinite alternate; |
|
} |
|
|
|
.shield-effect { |
|
position: absolute; |
|
top: -20px; |
|
right: -20px; |
|
font-size: 32px; |
|
animation: shieldGlow 1.5s ease-in-out infinite; |
|
filter: drop-shadow(0 0 10px rgba(110, 168, 254, 0.8)); |
|
} |
|
|
|
.debuff-effect { |
|
position: absolute; |
|
top: -20px; |
|
left: -20px; |
|
font-size: 24px; |
|
animation: debuffPulse 1s ease-in-out infinite; |
|
filter: drop-shadow(0 0 8px rgba(111, 66, 193, 0.8)); |
|
} |
|
|
|
@keyframes enemyIdle { |
|
0% { |
|
transform: translateY(0px) scale(1); |
|
} |
|
|
|
100% { |
|
transform: translateY(-10px) scale(1.02); |
|
} |
|
} |
|
|
|
@keyframes shadowPulse { |
|
0% { |
|
transform: scaleX(1); |
|
opacity: 0.3; |
|
} |
|
|
|
100% { |
|
transform: scaleX(1.1); |
|
opacity: 0.2; |
|
} |
|
} |
|
|
|
@keyframes shieldGlow { |
|
|
|
0%, |
|
100% { |
|
transform: scale(1); |
|
opacity: 0.8; |
|
} |
|
|
|
50% { |
|
transform: scale(1.2); |
|
opacity: 1; |
|
} |
|
} |
|
|
|
@keyframes debuffPulse { |
|
|
|
0%, |
|
100% { |
|
transform: scale(1); |
|
opacity: 0.7; |
|
} |
|
|
|
50% { |
|
transform: scale(1.1); |
|
opacity: 1; |
|
} |
|
} |
|
|
|
|
|
.player-sprite { |
|
position: relative; |
|
display: flex; |
|
flex-direction: column; |
|
align-items: center; |
|
} |
|
|
|
.player-avatar { |
|
width: 120px; |
|
height: 120px; |
|
border-radius: 50%; |
|
overflow: hidden; |
|
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.4), 0 0 20px rgba(40, 167, 69, 0.5); |
|
animation: playerIdle 2s ease-in-out infinite alternate; |
|
position: relative; |
|
z-index: 2; |
|
display: flex; |
|
align-items: center; |
|
justify-content: center; |
|
background: linear-gradient(135deg, #4a4a4a 0%, #2a2a2a 100%); |
|
} |
|
|
|
.player-avatar-img { |
|
width: 100%; |
|
height: 100%; |
|
object-fit: cover; |
|
border-radius: 50%; |
|
} |
|
|
|
.player-shadow { |
|
width: 80px; |
|
height: 20px; |
|
background: radial-gradient(ellipse, rgba(0, 0, 0, 0.3) 0%, transparent 70%); |
|
margin-top: -10px; |
|
animation: shadowPulse 2s ease-in-out infinite alternate; |
|
} |
|
|
|
@keyframes playerIdle { |
|
0% { |
|
transform: translateY(0px) scale(1); |
|
} |
|
|
|
100% { |
|
transform: translateY(-10px) scale(1.02); |
|
} |
|
} |
|
|
|
|
|
.damage-number { |
|
position: fixed; |
|
font-size: 48px; |
|
font-weight: bold; |
|
color: #ffffff; |
|
text-shadow: 3px 3px 6px rgba(0, 0, 0, 0.9); |
|
pointer-events: none; |
|
z-index: 1000; |
|
transform: translate(-50%, -50%); |
|
opacity: 0; |
|
scale: 0.5; |
|
} |
|
|
|
.damage-number-animate { |
|
animation: damageNumberPop 1s ease-out forwards; |
|
} |
|
|
|
@keyframes damageNumberPop { |
|
0% { |
|
opacity: 0; |
|
scale: 0.5; |
|
transform: translate(-50%, -50%) translateY(0px); |
|
} |
|
|
|
15% { |
|
opacity: 1; |
|
scale: 1.4; |
|
transform: translate(-50%, -50%) translateY(-10px); |
|
} |
|
|
|
30% { |
|
opacity: 1; |
|
scale: 1.2; |
|
transform: translate(-50%, -50%) translateY(-20px); |
|
} |
|
|
|
100% { |
|
opacity: 0; |
|
scale: 0.8; |
|
transform: translate(-50%, -50%) translateY(-60px); |
|
} |
|
} |
|
|
|
|
|
.player-ui-panel { |
|
background: linear-gradient(135deg, #2a4732 0%, #1b3020 100%); |
|
border: 2px solid #28a745; |
|
border-radius: 16px; |
|
padding: 20px; |
|
min-width: 320px; |
|
box-shadow: 0 8px 32px rgba(40, 167, 69, 0.4); |
|
position: relative; |
|
} |
|
|
|
.player-nameplate { |
|
text-align: center; |
|
margin-bottom: 16px; |
|
} |
|
|
|
.player-title { |
|
color: #28a745; |
|
font-size: 24px; |
|
font-weight: bold; |
|
margin: 0; |
|
text-shadow: 0 2px 4px rgba(0, 0, 0, 0.5); |
|
} |
|
|
|
.player-level { |
|
background: linear-gradient(135deg, #28a745, #5cb85c); |
|
color: white; |
|
padding: 4px 12px; |
|
border-radius: 12px; |
|
font-size: 12px; |
|
font-weight: bold; |
|
display: inline-block; |
|
margin-top: 8px; |
|
text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5); |
|
} |
|
|
|
.player-health-section { |
|
display: flex; |
|
flex-direction: column; |
|
gap: 12px; |
|
} |
|
|
|
.player-health .health-fill { |
|
background: linear-gradient(90deg, #28a745 0%, #5cb85c 100%); |
|
} |
|
|
|
|
|
.player-energy-section { |
|
margin-top: 15px; |
|
} |
|
|
|
.energy-display { |
|
display: flex; |
|
align-items: center; |
|
gap: 10px; |
|
} |
|
|
|
.energy-label { |
|
font-size: 16px; |
|
color: #d4af37; |
|
text-shadow: 0 0 8px rgba(212, 175, 55, 0.6); |
|
} |
|
|
|
.energy-orbs { |
|
display: flex; |
|
gap: 5px; |
|
} |
|
|
|
.energy-orb { |
|
width: 20px; |
|
height: 20px; |
|
border-radius: 50%; |
|
border: 2px solid #d4af37; |
|
position: relative; |
|
transition: all 0.3s ease; |
|
} |
|
|
|
.energy-orb.active { |
|
background: linear-gradient(135deg, #d4af37 0%, #b8941f 100%); |
|
box-shadow: 0 0 12px rgba(212, 175, 55, 0.6); |
|
} |
|
|
|
.energy-orb.inactive { |
|
background: transparent; |
|
opacity: 0.4; |
|
} |
|
|
|
|
|
.event-screen { |
|
position: relative; |
|
width: 100%; |
|
min-height: 100vh; |
|
display: flex; |
|
align-items: center; |
|
justify-content: center; |
|
padding: 20px; |
|
box-sizing: border-box; |
|
} |
|
|
|
.event-background { |
|
position: absolute; |
|
top: 0; |
|
left: 0; |
|
width: 100%; |
|
height: 100%; |
|
background: linear-gradient(135deg, #1a0f08 0%, #2c1810 50%, #3a2f1f 100%); |
|
z-index: -1; |
|
} |
|
|
|
.event-background .bg-particles { |
|
position: absolute; |
|
width: 100%; |
|
height: 100%; |
|
background: radial-gradient(circle at 20% 30%, rgba(212, 175, 55, 0.1) 0%, transparent 50%), |
|
radial-gradient(circle at 80% 70%, rgba(212, 175, 55, 0.08) 0%, transparent 50%), |
|
radial-gradient(circle at 40% 80%, rgba(212, 175, 55, 0.06) 0%, transparent 50%); |
|
} |
|
|
|
.event-background .bg-glow { |
|
position: absolute; |
|
width: 100%; |
|
height: 100%; |
|
background: radial-gradient(ellipse at center, rgba(212, 175, 55, 0.05) 0%, transparent 70%); |
|
} |
|
|
|
.event-container { |
|
max-width: 900px; |
|
width: 100%; |
|
z-index: 1; |
|
} |
|
|
|
|
|
.event-header { |
|
text-align: center; |
|
margin-bottom: 40px; |
|
} |
|
|
|
.event-title-frame { |
|
position: relative; |
|
display: inline-block; |
|
padding: 20px 40px; |
|
background: linear-gradient(135deg, #3a2f1f 0%, #2c1810 100%); |
|
border: 3px solid #d4af37; |
|
border-radius: 15px; |
|
box-shadow: |
|
0 8px 32px rgba(0, 0, 0, 0.6), |
|
inset 0 2px 8px rgba(212, 175, 55, 0.2), |
|
0 0 20px rgba(212, 175, 55, 0.3); |
|
} |
|
|
|
.event-title { |
|
font-family: 'Kreon', serif; |
|
font-size: 2.5rem; |
|
font-weight: 700; |
|
color: #d4af37; |
|
text-shadow: |
|
0 0 10px rgba(212, 175, 55, 0.6), |
|
2px 2px 4px rgba(0, 0, 0, 0.8); |
|
margin: 0; |
|
letter-spacing: 1px; |
|
} |
|
|
|
.title-ornament { |
|
position: absolute; |
|
bottom: -15px; |
|
left: 50%; |
|
transform: translateX(-50%); |
|
width: 60px; |
|
height: 6px; |
|
background: linear-gradient(90deg, transparent 0%, #d4af37 50%, transparent 100%); |
|
border-radius: 3px; |
|
box-shadow: 0 0 8px rgba(212, 175, 55, 0.6); |
|
} |
|
|
|
|
|
.event-story-panel { |
|
display: flex; |
|
align-items: center; |
|
gap: 30px; |
|
background: linear-gradient(135deg, #3a2f1f 0%, #2c1810 100%); |
|
border: 2px solid #5a4a2a; |
|
border-radius: 15px; |
|
padding: 30px; |
|
margin-bottom: 40px; |
|
box-shadow: |
|
0 8px 32px rgba(0, 0, 0, 0.6), |
|
inset 0 2px 8px rgba(212, 175, 55, 0.1); |
|
} |
|
|
|
.story-artwork { |
|
position: relative; |
|
flex-shrink: 0; |
|
} |
|
|
|
.event-artwork-img { |
|
width: 120px; |
|
height: 120px; |
|
object-fit: contain; |
|
border: 3px solid #d4af37; |
|
border-radius: 12px; |
|
background: linear-gradient(135deg, #2c1810 0%, #1a0f08 100%); |
|
padding: 15px; |
|
box-shadow: |
|
0 4px 16px rgba(0, 0, 0, 0.6), |
|
0 0 20px rgba(212, 175, 55, 0.2); |
|
} |
|
|
|
.artwork-glow { |
|
position: absolute; |
|
top: -5px; |
|
left: -5px; |
|
right: -5px; |
|
bottom: -5px; |
|
background: linear-gradient(45deg, rgba(212, 175, 55, 0.3), rgba(212, 175, 55, 0.1)); |
|
border-radius: 15px; |
|
z-index: -1; |
|
filter: blur(8px); |
|
} |
|
|
|
.story-text { |
|
flex: 1; |
|
} |
|
|
|
.event-description { |
|
font-size: 1.3rem; |
|
line-height: 1.6; |
|
color: #d0d0d0; |
|
text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.8); |
|
margin: 0; |
|
font-family: 'Kreon', serif; |
|
} |
|
|
|
|
|
.event-choices { |
|
display: flex; |
|
flex-direction: column; |
|
gap: 20px; |
|
} |
|
|
|
.event-choice-card { |
|
position: relative; |
|
cursor: pointer; |
|
transition: all 0.3s ease; |
|
} |
|
|
|
.event-choice-card:hover { |
|
transform: translateY(-3px); |
|
} |
|
|
|
.choice-frame { |
|
display: flex; |
|
align-items: center; |
|
gap: 20px; |
|
background: linear-gradient(135deg, #3a2f1f 0%, #2c1810 100%); |
|
border: 2px solid #5a4a2a; |
|
border-radius: 12px; |
|
padding: 20px; |
|
position: relative; |
|
overflow: hidden; |
|
box-shadow: |
|
0 4px 16px rgba(0, 0, 0, 0.4), |
|
inset 0 1px 4px rgba(212, 175, 55, 0.1); |
|
} |
|
|
|
.choice-icon { |
|
flex-shrink: 0; |
|
position: relative; |
|
} |
|
|
|
.choice-icon-img { |
|
width: 50px; |
|
height: 50px; |
|
object-fit: contain; |
|
border: 2px solid #d4af37; |
|
border-radius: 8px; |
|
background: linear-gradient(135deg, #2c1810 0%, #1a0f08 100%); |
|
padding: 8px; |
|
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.6); |
|
} |
|
|
|
.choice-content { |
|
flex: 1; |
|
} |
|
|
|
.choice-text { |
|
font-size: 1.1rem; |
|
font-weight: 600; |
|
color: #d0d0d0; |
|
text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.8); |
|
margin-bottom: 8px; |
|
line-height: 1.4; |
|
} |
|
|
|
.choice-risk-indicator { |
|
font-size: 0.9rem; |
|
font-weight: 500; |
|
text-transform: uppercase; |
|
letter-spacing: 0.5px; |
|
padding: 4px 8px; |
|
border-radius: 6px; |
|
display: inline-block; |
|
} |
|
|
|
.choice-risk-indicator.high { |
|
background: rgba(220, 53, 69, 0.2); |
|
color: #ff6b7a; |
|
border: 1px solid rgba(220, 53, 69, 0.4); |
|
} |
|
|
|
.choice-risk-indicator.medium { |
|
background: rgba(255, 193, 7, 0.2); |
|
color: #ffc107; |
|
border: 1px solid rgba(255, 193, 7, 0.4); |
|
} |
|
|
|
.choice-risk-indicator.low { |
|
background: rgba(40, 167, 69, 0.2); |
|
color: #5cb85c; |
|
border: 1px solid rgba(40, 167, 69, 0.4); |
|
} |
|
|
|
.choice-risk-indicator.none { |
|
background: rgba(108, 117, 125, 0.2); |
|
color: #adb5bd; |
|
border: 1px solid rgba(108, 117, 125, 0.4); |
|
} |
|
|
|
.choice-glow { |
|
position: absolute; |
|
top: 0; |
|
left: 0; |
|
right: 0; |
|
bottom: 0; |
|
background: linear-gradient(135deg, rgba(212, 175, 55, 0.1), transparent); |
|
opacity: 0; |
|
transition: opacity 0.3s ease; |
|
pointer-events: none; |
|
border-radius: 12px; |
|
} |
|
|
|
.event-choice-card:hover .choice-glow { |
|
opacity: 1; |
|
} |
|
|
|
.event-choice-card:hover .choice-frame { |
|
border-color: #d4af37; |
|
box-shadow: |
|
0 6px 24px rgba(0, 0, 0, 0.6), |
|
inset 0 1px 4px rgba(212, 175, 55, 0.2), |
|
0 0 20px rgba(212, 175, 55, 0.2); |
|
} |
|
|
|
.event-choice-card:hover .choice-icon-img { |
|
box-shadow: |
|
0 2px 8px rgba(0, 0, 0, 0.6), |
|
0 0 12px rgba(212, 175, 55, 0.3); |
|
} |
|
|
|
|
|
@media (max-width: 768px) { |
|
.event-story-panel { |
|
flex-direction: column; |
|
text-align: center; |
|
gap: 20px; |
|
} |
|
|
|
.event-title { |
|
font-size: 2rem; |
|
} |
|
|
|
.event-description { |
|
font-size: 1.1rem; |
|
} |
|
|
|
.choice-frame { |
|
flex-direction: column; |
|
text-align: center; |
|
gap: 15px; |
|
} |
|
} |
|
|
|
|
|
.enemy-ui-panel { |
|
background: linear-gradient(135deg, #2a3247 0%, #1b2030 100%); |
|
border: 2px solid #dc3545; |
|
border-radius: 16px; |
|
padding: 20px; |
|
min-width: 320px; |
|
box-shadow: 0 8px 32px rgba(220, 53, 69, 0.4); |
|
position: relative; |
|
overflow: hidden; |
|
} |
|
|
|
.enemy-ui-panel::before { |
|
content: ''; |
|
position: absolute; |
|
top: 0; |
|
left: 0; |
|
right: 0; |
|
height: 2px; |
|
background: linear-gradient(90deg, transparent, #dc3545, transparent); |
|
animation: scanline 2s linear infinite; |
|
} |
|
|
|
@keyframes scanline { |
|
0% { |
|
transform: translateX(-100%); |
|
} |
|
|
|
100% { |
|
transform: translateX(100%); |
|
} |
|
} |
|
|
|
.enemy-nameplate { |
|
text-align: center; |
|
margin-bottom: 15px; |
|
} |
|
|
|
.enemy-title { |
|
color: #dc3545; |
|
font-size: 24px; |
|
font-weight: bold; |
|
margin: 0 0 5px 0; |
|
text-shadow: 0 0 10px rgba(220, 53, 69, 0.5); |
|
} |
|
|
|
.enemy-level { |
|
color: #ffc107; |
|
font-size: 12px; |
|
font-weight: bold; |
|
background: rgba(255, 193, 7, 0.2); |
|
padding: 2px 8px; |
|
border-radius: 12px; |
|
display: inline-block; |
|
} |
|
|
|
.enemy-name { |
|
font-size: 24px; |
|
font-weight: bold; |
|
color: #dc3545; |
|
margin-bottom: 10px; |
|
} |
|
|
|
.enemy-art { |
|
font-size: 48px; |
|
margin: 15px 0; |
|
} |
|
|
|
.hp-bar { |
|
position: relative; |
|
background: #1a1d29; |
|
border: 2px solid #334064; |
|
border-radius: 20px; |
|
height: 24px; |
|
margin: 10px 0; |
|
overflow: hidden; |
|
} |
|
|
|
.hp-fill { |
|
background: linear-gradient(90deg, #dc3545, #ff6b7a); |
|
height: 100%; |
|
transition: width 0.3s ease; |
|
} |
|
|
|
.player-hp .hp-fill { |
|
background: linear-gradient(90deg, #28a745, #5cb85c); |
|
} |
|
|
|
.hp-text { |
|
position: absolute; |
|
top: 50%; |
|
left: 50%; |
|
transform: translate(-50%, -50%); |
|
font-weight: bold; |
|
color: white; |
|
text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.8); |
|
font-size: 12px; |
|
} |
|
|
|
.intent-display { |
|
margin-top: 15px; |
|
padding: 10px; |
|
border-radius: 8px; |
|
border: 2px solid; |
|
} |
|
|
|
.intent-danger { |
|
border-color: #dc3545; |
|
background: rgba(220, 53, 69, 0.1); |
|
margin-top: 10px; |
|
} |
|
|
|
.intent-info { |
|
border-color: #17a2b8; |
|
background: rgba(23, 162, 184, 0.1); |
|
} |
|
|
|
.intent-warning { |
|
border-color: #ffc107; |
|
} |
|
|
|
.intent-success { |
|
border-color: #28a745; |
|
background: rgba(40, 167, 69, 0.1); |
|
} |
|
|
|
.intent-icon { |
|
font-size: 24px; |
|
margin-bottom: 5px; |
|
} |
|
|
|
.intent-text { |
|
font-size: 14px; |
|
font-weight: bold; |
|
} |
|
|
|
|
|
.player-battle-hud { |
|
display: grid; |
|
grid-template-columns: auto 1fr; |
|
gap: 20px; |
|
align-items: center; |
|
background: rgba(27, 32, 48, 0.8); |
|
border-radius: 12px; |
|
padding: 15px; |
|
border: 1px solid #2a3247; |
|
} |
|
|
|
.player-character-zone { |
|
display: flex; |
|
align-items: center; |
|
} |
|
|
|
.player-avatar { |
|
position: relative; |
|
display: flex; |
|
flex-direction: column; |
|
align-items: center; |
|
} |
|
|
|
.player-sprite { |
|
font-size: 48px; |
|
margin-bottom: 5px; |
|
} |
|
|
|
.player-shield, |
|
.player-debuff { |
|
position: absolute; |
|
font-size: 16px; |
|
top: -5px; |
|
right: -5px; |
|
} |
|
|
|
.player-hud-panel { |
|
display: flex; |
|
flex-direction: column; |
|
gap: 10px; |
|
} |
|
|
|
.hud-top-row { |
|
display: flex; |
|
gap: 20px; |
|
align-items: center; |
|
} |
|
|
|
.player-health-display, |
|
.player-energy-display { |
|
display: flex; |
|
align-items: center; |
|
gap: 10px; |
|
} |
|
|
|
.health-icon, |
|
.energy-label { |
|
font-size: 16px; |
|
} |
|
|
|
.energy-orbs-container { |
|
display: flex; |
|
gap: 4px; |
|
} |
|
|
|
|
|
.energy-orb.inactive { |
|
background: #1a1d29; |
|
} |
|
|
|
.gold-display { |
|
display: flex; |
|
align-items: center; |
|
gap: 5px; |
|
font-weight: bold; |
|
} |
|
|
|
.relics-hud { |
|
display: flex; |
|
align-items: center; |
|
gap: 10px; |
|
} |
|
|
|
.relics-row { |
|
display: flex; |
|
gap: 8px; |
|
} |
|
|
|
.relic-hud-item { |
|
background: #2a3247; |
|
border: 1px solid #ffc107; |
|
border-radius: 6px; |
|
padding: 4px; |
|
cursor: help; |
|
} |
|
|
|
.player-stats { |
|
background: #1b2030; |
|
border: 1px solid #2a3247; |
|
border-radius: 12px; |
|
padding: 15px; |
|
} |
|
|
|
.stat-group { |
|
display: flex; |
|
gap: 20px; |
|
align-items: center; |
|
flex-wrap: wrap; |
|
} |
|
|
|
.stat-label { |
|
font-weight: bold; |
|
font-size: 14px; |
|
margin-bottom: 5px; |
|
display: block; |
|
} |
|
|
|
.energy-orbs { |
|
display: flex; |
|
gap: 5px; |
|
} |
|
|
|
|
|
.energy-orb.filled { |
|
background: radial-gradient(circle, #6ea8fe, #4c8fdf); |
|
box-shadow: 0 0 8px rgba(110, 168, 254, 0.6); |
|
} |
|
|
|
.energy-orb.empty { |
|
background: #1a1d29; |
|
} |
|
|
|
|
|
.battle-action-zone { |
|
position: fixed; |
|
bottom: 0; |
|
left: 0; |
|
right: 0; |
|
z-index: 100; |
|
pointer-events: none; |
|
} |
|
|
|
.hand-area { |
|
padding: 0 20px 0 20px; |
|
pointer-events: auto; |
|
transform: translateY(60px); |
|
} |
|
|
|
.hand-header { |
|
display: flex; |
|
justify-content: space-between; |
|
align-items: center; |
|
margin-bottom: 15px; |
|
} |
|
|
|
.hand-title { |
|
display: flex; |
|
align-items: center; |
|
gap: 10px; |
|
} |
|
|
|
.hand-title h3 { |
|
margin: 0; |
|
font-size: 18px; |
|
} |
|
|
|
.hand-count { |
|
background: #6ea8fe; |
|
color: #000; |
|
padding: 2px 8px; |
|
border-radius: 12px; |
|
font-size: 12px; |
|
font-weight: bold; |
|
} |
|
|
|
.deck-counters { |
|
display: flex; |
|
gap: 15px; |
|
} |
|
|
|
.deck-counter { |
|
display: flex; |
|
align-items: center; |
|
gap: 5px; |
|
font-size: 12px; |
|
} |
|
|
|
.counter-icon { |
|
font-size: 14px; |
|
} |
|
|
|
.counter-value { |
|
font-weight: bold; |
|
color: #6ea8fe; |
|
} |
|
|
|
.cards-battlefield { |
|
display: flex; |
|
justify-content: center; |
|
align-items: flex-end; |
|
margin-left: 160px; |
|
min-height: 200px; |
|
position: relative; |
|
overflow: visible; |
|
pointer-events: auto; |
|
} |
|
|
|
.no-cards-message { |
|
display: flex; |
|
align-items: center; |
|
justify-content: center; |
|
width: 100%; |
|
height: 200px; |
|
color: #6ea8fe; |
|
font-style: italic; |
|
text-align: center; |
|
} |
|
|
|
.battle-control-panel { |
|
display: flex; |
|
justify-content: space-between; |
|
align-items: center; |
|
background: rgba(27, 32, 48, 0.8); |
|
border: 1px solid #2a3247; |
|
border-radius: 12px; |
|
padding: 15px; |
|
} |
|
|
|
.end-turn-button { |
|
background: linear-gradient(135deg, #6ea8fe, #4c8fdf); |
|
color: #000; |
|
border: none; |
|
border-radius: 8px; |
|
padding: 12px 24px; |
|
font-weight: bold; |
|
cursor: pointer; |
|
transition: all 0.2s ease; |
|
position: relative; |
|
overflow: hidden; |
|
} |
|
|
|
.end-turn-button:hover { |
|
transform: translateY(-2px); |
|
box-shadow: 0 4px 12px rgba(110, 168, 254, 0.4); |
|
} |
|
|
|
.button-content { |
|
display: flex; |
|
flex-direction: column; |
|
align-items: center; |
|
gap: 2px; |
|
} |
|
|
|
.button-text { |
|
font-size: 14px; |
|
} |
|
|
|
.button-hotkey { |
|
font-size: 10px; |
|
opacity: 0.8; |
|
} |
|
|
|
.battle-tips, |
|
.battle-tips-bottom { |
|
display: flex; |
|
flex-direction: column; |
|
gap: 5px; |
|
} |
|
|
|
.battle-tips-bottom { |
|
text-align: center; |
|
opacity: 0.8; |
|
margin-top: 10px; |
|
} |
|
|
|
.tip-item { |
|
font-size: 11px; |
|
color: #6ea8fe; |
|
opacity: 0.8; |
|
} |
|
|
|
.cards-header { |
|
display: flex; |
|
justify-content: space-between; |
|
align-items: center; |
|
margin-bottom: 15px; |
|
} |
|
|
|
.game-tips { |
|
display: flex; |
|
gap: 15px; |
|
} |
|
|
|
.tip { |
|
font-size: 12px; |
|
color: #6ea8fe; |
|
background: rgba(110, 168, 254, 0.1); |
|
padding: 4px 8px; |
|
border-radius: 4px; |
|
} |
|
|
|
.hand { |
|
display: flex; |
|
gap: 12px; |
|
margin-bottom: 20px; |
|
overflow-x: auto; |
|
padding: 10px 0; |
|
} |
|
|
|
.card { |
|
background: #2a3247; |
|
border: 2px solid #334064; |
|
border-radius: 12px; |
|
padding: 12px; |
|
min-width: 160px; |
|
max-width: 180px; |
|
cursor: pointer; |
|
transition: all 0.2s ease; |
|
position: relative; |
|
} |
|
|
|
.card:hover { |
|
transform: translateY(-8px); |
|
box-shadow: 0 8px 24px rgba(0, 0, 0, 0.4); |
|
} |
|
|
|
.card.attack { |
|
border-color: #dc3545; |
|
background: linear-gradient(135deg, #2a3247, #3d2a2a); |
|
} |
|
|
|
.card.skill { |
|
border-color: #28a745; |
|
background: linear-gradient(135deg, #2a3247, #2a3d2a); |
|
} |
|
|
|
.card.power { |
|
border-color: #6f42c1; |
|
background: linear-gradient(135deg, #2a3247, #3d2a3d); |
|
} |
|
|
|
.card.unplayable { |
|
opacity: 0.5; |
|
cursor: not-allowed; |
|
} |
|
|
|
.card.unplayable:hover { |
|
transform: none; |
|
} |
|
|
|
|
|
.battle-card { |
|
position: relative; |
|
width: 200px; |
|
height: 300px; |
|
cursor: pointer; |
|
transition: all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94); |
|
transform-style: preserve-3d; |
|
margin-left: -60px; |
|
transform-origin: center bottom; |
|
z-index: 150; |
|
} |
|
|
|
.battle-card:first-child { |
|
margin-left: 0; |
|
} |
|
|
|
|
|
.battle-card:nth-child(1) { |
|
transform: rotate(-8deg); |
|
z-index: 1; |
|
} |
|
|
|
.battle-card:nth-child(2) { |
|
transform: rotate(-4deg); |
|
z-index: 2; |
|
} |
|
|
|
.battle-card:nth-child(3) { |
|
transform: rotate(-2deg); |
|
z-index: 3; |
|
} |
|
|
|
.battle-card:nth-child(4) { |
|
transform: rotate(0deg); |
|
z-index: 4; |
|
} |
|
|
|
.battle-card:nth-child(5) { |
|
transform: rotate(2deg); |
|
z-index: 5; |
|
} |
|
|
|
.battle-card:nth-child(6) { |
|
transform: rotate(4deg); |
|
z-index: 6; |
|
} |
|
|
|
.battle-card:nth-child(7) { |
|
transform: rotate(8deg); |
|
z-index: 7; |
|
} |
|
|
|
.battle-card:nth-child(8) { |
|
transform: rotate(12deg); |
|
z-index: 8; |
|
} |
|
|
|
|
|
.battle-card:nth-child(1).playable:hover { |
|
transform: translateY(-80px) scale(1.15) rotate(-8deg) !important; |
|
z-index: 900; |
|
margin-left: -60px; |
|
margin-right: 40px; |
|
} |
|
|
|
.battle-card:nth-child(2).playable:hover { |
|
transform: translateY(-80px) scale(1.15) rotate(-4deg) !important; |
|
z-index: 900; |
|
margin-left: -60px; |
|
margin-right: 40px; |
|
} |
|
|
|
.battle-card:nth-child(3).playable:hover { |
|
transform: translateY(-80px) scale(1.15) rotate(-2deg) !important; |
|
z-index: 900; |
|
margin-left: -60px; |
|
margin-right: 40px; |
|
} |
|
|
|
.battle-card:nth-child(4).playable:hover { |
|
transform: translateY(-80px) scale(1.15) rotate(0deg) !important; |
|
z-index: 900; |
|
margin-left: -60px; |
|
margin-right: 40px; |
|
} |
|
|
|
.battle-card:nth-child(5).playable:hover { |
|
transform: translateY(-80px) scale(1.15) rotate(2deg) !important; |
|
z-index: 900; |
|
margin-left: -60px; |
|
margin-right: 40px; |
|
} |
|
|
|
.battle-card:nth-child(6).playable:hover { |
|
transform: translateY(-80px) scale(1.15) rotate(4deg) !important; |
|
z-index: 900; |
|
margin-left: -60px; |
|
margin-right: 40px; |
|
} |
|
|
|
.battle-card:nth-child(7).playable:hover { |
|
transform: translateY(-80px) scale(1.15) rotate(8deg) !important; |
|
z-index: 900; |
|
margin-left: -60px; |
|
margin-right: 40px; |
|
} |
|
|
|
.battle-card:nth-child(n+8).playable:hover { |
|
transform: translateY(-80px) scale(1.15) rotate(12deg) !important; |
|
z-index: 900; |
|
margin-left: -60px; |
|
margin-right: 40px; |
|
} |
|
|
|
.battle-card.playable:hover~.battle-card { |
|
transform: translateX(20px); |
|
} |
|
|
|
|
|
.hand-controls { |
|
position: fixed; |
|
bottom: 20px; |
|
right: 20px; |
|
z-index: 200; |
|
transform: translateY(-60px); |
|
} |
|
|
|
|
|
.end-turn-btn { |
|
background: linear-gradient(135deg, #5a8a3a, #4a7a2a); |
|
border: 2px solid #6a9a4a; |
|
border-radius: 6px; |
|
padding: 12px 20px; |
|
color: white; |
|
font-weight: bold; |
|
font-size: 16px; |
|
cursor: pointer; |
|
transition: all 0.15s ease; |
|
box-shadow: 0 4px 16px rgba(90, 138, 58, 0.4), inset 0 1px 0 rgba(255, 255, 255, 0.2); |
|
display: flex; |
|
align-items: center; |
|
gap: 8px; |
|
text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.8); |
|
} |
|
|
|
.end-turn-btn:hover { |
|
background: linear-gradient(135deg, #6a9a4a, #5a8a3a); |
|
border-color: #7aaa5a; |
|
transform: translateY(-2px); |
|
box-shadow: 0 6px 20px rgba(90, 138, 58, 0.6), inset 0 1px 0 rgba(255, 255, 255, 0.3); |
|
} |
|
|
|
.end-turn-btn:active { |
|
transform: translateY(0); |
|
box-shadow: 0 2px 8px rgba(40, 167, 69, 0.4); |
|
} |
|
|
|
.end-turn-text { |
|
font-size: 16px; |
|
} |
|
|
|
.end-turn-hotkey { |
|
background: rgba(255, 255, 255, 0.2); |
|
border-radius: 4px; |
|
padding: 2px 6px; |
|
font-size: 12px; |
|
font-weight: bold; |
|
} |
|
|
|
.battle-card.unplayable { |
|
cursor: not-allowed; |
|
filter: grayscale(0.8) brightness(0.6); |
|
} |
|
|
|
.battle-card.unplayable .card-frame { |
|
border-color: #555; |
|
} |
|
|
|
.battle-card.unplayable .card-title { |
|
color: #aaa; |
|
} |
|
|
|
.battle-card.unplayable .card-cost-orb { |
|
background: #666 !important; |
|
border-color: #555 !important; |
|
color: #aaa !important; |
|
} |
|
|
|
.battle-card.unplayable:hover { |
|
transform: translateY(-10px) scale(1.02); |
|
} |
|
|
|
.card-glow { |
|
position: absolute; |
|
top: -3px; |
|
left: -3px; |
|
right: -3px; |
|
bottom: -3px; |
|
border-radius: 16px; |
|
opacity: 0; |
|
transition: all 0.4s ease; |
|
filter: blur(4px); |
|
} |
|
|
|
.battle-card.attack .card-glow { |
|
background: linear-gradient(45deg, #dc3545, #ff6b7a); |
|
box-shadow: 0 0 15px rgba(220, 53, 69, 0.3); |
|
} |
|
|
|
.battle-card.skill .card-glow { |
|
background: linear-gradient(45deg, #28a745, #5cb85c); |
|
box-shadow: 0 0 15px rgba(40, 167, 69, 0.3); |
|
} |
|
|
|
.battle-card.power .card-glow { |
|
background: linear-gradient(45deg, #6f42c1, #9b59b6); |
|
box-shadow: 0 0 15px rgba(111, 66, 193, 0.3); |
|
} |
|
|
|
.battle-card.card-selected { |
|
transform: translateY(-80px) scale(1.15) rotate(0deg) !important; |
|
z-index: 300; |
|
margin-left: -60px; |
|
margin-right: 40px; |
|
} |
|
|
|
.battle-card.card-selected~.battle-card { |
|
transform: translateX(20px); |
|
} |
|
|
|
.battle-card.card-selected .card-glow { |
|
opacity: 0.8; |
|
filter: blur(6px); |
|
transform: scale(1.05); |
|
} |
|
|
|
.battle-card.card-selected .card-frame { |
|
box-shadow: 0 20px 40px rgba(0, 0, 0, 0.6); |
|
} |
|
|
|
.battle-card.playable:hover .card-glow { |
|
opacity: 0.8; |
|
filter: blur(6px); |
|
transform: scale(1.05); |
|
} |
|
|
|
.card-frame { |
|
position: relative; |
|
width: 100%; |
|
height: 100%; |
|
background: |
|
linear-gradient(135deg, #4a3428 0%, #2a1f18 100%), |
|
radial-gradient(ellipse at center, rgba(139, 115, 85, 0.3) 0%, transparent 70%); |
|
border-radius: 16px; |
|
border: 3px solid #8b7355; |
|
padding: 8px; |
|
display: flex; |
|
flex-direction: column; |
|
box-shadow: |
|
0 8px 24px rgba(0, 0, 0, 0.4), |
|
inset 0 2px 0 rgba(255, 255, 255, 0.15), |
|
inset 0 -2px 0 rgba(0, 0, 0, 0.4), |
|
inset 2px 0 0 rgba(255, 255, 255, 0.1), |
|
inset -2px 0 0 rgba(0, 0, 0, 0.3); |
|
transition: all 0.4s ease; |
|
overflow: hidden; |
|
} |
|
|
|
.battle-card.playable:hover .card-frame { |
|
box-shadow: 0 20px 40px rgba(0, 0, 0, 0.6); |
|
} |
|
|
|
.battle-card.attack .card-frame { |
|
border-color: #c82333; |
|
background: linear-gradient(135deg, #4a2f1f 0%, #3a1f0f 100%); |
|
} |
|
|
|
.battle-card.skill .card-frame { |
|
border-color: #5a8a3a; |
|
background: linear-gradient(135deg, #3f4a2f 0%, #2f3a1f 100%); |
|
} |
|
|
|
.battle-card.power .card-frame { |
|
border-color: #8a5aa3; |
|
background: linear-gradient(135deg, #4a3f4a 0%, #3a2f3a 100%); |
|
} |
|
|
|
.card-header-row { |
|
position: relative; |
|
margin-bottom: 12px; |
|
margin-top: 8px; |
|
} |
|
|
|
.battle-card.deck-display .card-header-row { |
|
position: relative; |
|
margin-bottom: 4px; |
|
margin-top: 8px; |
|
} |
|
|
|
.card-title { |
|
font-weight: bold; |
|
font-size: 16px; |
|
color: #ffffff; |
|
text-shadow: 2px 2px 4px rgba(0, 0, 0, 1); |
|
text-align: center; |
|
background: |
|
linear-gradient(135deg, #8b7355 0%, #6b5a45 50%, #4a3428 100%); |
|
padding: 6px 12px; |
|
margin: 0 8px; |
|
border-radius: 12px; |
|
border: 2px solid #a68b6b; |
|
box-shadow: |
|
0 2px 4px rgba(0, 0, 0, 0.4), |
|
inset 0 1px 0 rgba(255, 255, 255, 0.2), |
|
inset 0 -1px 0 rgba(0, 0, 0, 0.3); |
|
position: relative; |
|
z-index: 5; |
|
} |
|
|
|
.card-cost-orb { |
|
width: 36px; |
|
height: 36px; |
|
border-radius: 50%; |
|
background: |
|
radial-gradient(circle at 30% 30%, #ff6b35, #d4af37, #8b4513), |
|
linear-gradient(135deg, #ff6b35 0%, #d4af37 50%, #8b4513 100%); |
|
color: #fff; |
|
display: flex; |
|
align-items: center; |
|
justify-content: center; |
|
font-weight: bold; |
|
font-size: 16px; |
|
text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.8); |
|
box-shadow: |
|
0 4px 12px rgba(212, 175, 55, 0.6), |
|
inset 0 2px 0 rgba(255, 255, 255, 0.3), |
|
inset 0 -2px 0 rgba(0, 0, 0, 0.3); |
|
border: 2px solid #8b4513; |
|
position: absolute; |
|
top: -8px; |
|
left: -4px; |
|
z-index: 10; |
|
} |
|
|
|
.card-cost-orb.insufficient { |
|
background: linear-gradient(135deg, #dc3545, #c82333); |
|
color: white; |
|
box-shadow: 0 2px 8px rgba(220, 53, 69, 0.4); |
|
} |
|
|
|
.card-artwork { |
|
flex: 1; |
|
display: flex; |
|
flex-direction: column; |
|
align-items: center; |
|
justify-content: center; |
|
position: relative; |
|
margin: 8px 4px; |
|
background: |
|
linear-gradient(135deg, #2a1f18 0%, #1a0f08 100%), |
|
radial-gradient(ellipse at center, rgba(139, 115, 85, 0.2) 0%, transparent 70%); |
|
border: 2px solid #4a3428; |
|
border-radius: 8px; |
|
box-shadow: |
|
inset 0 2px 4px rgba(0, 0, 0, 0.5), |
|
inset 0 -1px 0 rgba(255, 255, 255, 0.1); |
|
overflow: hidden; |
|
} |
|
|
|
.card-art-icon { |
|
margin-bottom: 8px; |
|
display: flex; |
|
align-items: center; |
|
justify-content: center; |
|
width: 150px; |
|
height: 150px; |
|
} |
|
|
|
.card-art-image { |
|
width: 100%; |
|
height: 100%; |
|
object-fit: contain; |
|
filter: drop-shadow(0 3px 6px rgba(0, 0, 0, 0.4)) drop-shadow(0 0 8px rgba(255, 215, 0, 0.3)); |
|
border-radius: 6px; |
|
transition: all 0.3s ease; |
|
} |
|
|
|
.card-art-image:hover { |
|
filter: drop-shadow(0 4px 8px rgba(0, 0, 0, 0.5)) drop-shadow(0 0 12px rgba(255, 215, 0, 0.5)); |
|
transform: scale(1.05); |
|
} |
|
|
|
.card-art-fallback { |
|
font-size: 64px; |
|
filter: drop-shadow(0 3px 6px rgba(0, 0, 0, 0.4)); |
|
} |
|
|
|
|
|
.battle-card.deck-display .card-art-icon { |
|
width: 64px; |
|
height: 64px; |
|
font-size: 64px; |
|
margin-bottom: 8px; |
|
} |
|
|
|
.battle-card.deck-display .card-art-image { |
|
width: 120px; |
|
height: 120px; |
|
} |
|
|
|
.battle-card.deck-display .card-art-fallback { |
|
font-size: 64px; |
|
} |
|
|
|
.battle-card.deck-display .card-type-badge { |
|
font-size: 10px; |
|
padding: 4px 10px; |
|
border-radius: 10px; |
|
} |
|
|
|
.card-type-badge { |
|
position: absolute; |
|
bottom: 4px; |
|
left: 50%; |
|
transform: translateX(-50%); |
|
font-size: 11px; |
|
font-weight: bold; |
|
padding: 4px 12px; |
|
border-radius: 12px; |
|
text-transform: uppercase; |
|
border: 2px solid; |
|
text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.8); |
|
box-shadow: |
|
0 2px 4px rgba(0, 0, 0, 0.4), |
|
inset 0 1px 0 rgba(255, 255, 255, 0.2); |
|
} |
|
|
|
.card-type-badge.attack { |
|
background: linear-gradient(135deg, #dc3545, #b71c1c); |
|
border-color: #8b0000; |
|
color: white; |
|
} |
|
|
|
.card-type-badge.skill { |
|
background: linear-gradient(135deg, #28a745, #1b5e20); |
|
border-color: #0d4f0d; |
|
color: white; |
|
} |
|
|
|
.card-type-badge.power { |
|
background: linear-gradient(135deg, #6f42c1, #4a148c); |
|
border-color: #2e0854; |
|
color: white; |
|
} |
|
|
|
.card-description-box { |
|
background: |
|
linear-gradient(135deg, rgba(26, 15, 8, 0.9) 0%, rgba(42, 31, 24, 0.7) 100%); |
|
border: 1px solid #4a3428; |
|
border-radius: 8px; |
|
padding: 10px; |
|
margin: 4px; |
|
margin-bottom: 8px; |
|
box-shadow: |
|
inset 0 1px 2px rgba(0, 0, 0, 0.5), |
|
0 1px 0 rgba(255, 255, 255, 0.1); |
|
} |
|
|
|
.card-text { |
|
font-size: 12px; |
|
line-height: 1.4; |
|
color: #e8e8e8; |
|
text-align: center; |
|
text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.8); |
|
font-weight: 500; |
|
} |
|
|
|
|
|
|
|
.card-disabled-overlay { |
|
position: absolute; |
|
top: 0; |
|
left: 0; |
|
right: 0; |
|
bottom: 0; |
|
background: rgba(0, 0, 0, 0.8); |
|
border-radius: 12px; |
|
display: flex; |
|
align-items: center; |
|
justify-content: center; |
|
pointer-events: none; |
|
/* Allow clicks to pass through to elements behind */ |
|
color: #dc3545; |
|
font-size: 12px; |
|
font-weight: bold; |
|
text-align: center; |
|
} |
|
|
|
.card-header { |
|
display: flex; |
|
justify-content: space-between; |
|
align-items: center; |
|
margin-bottom: 8px; |
|
} |
|
|
|
.card-name { |
|
font-weight: bold; |
|
font-size: 14px; |
|
} |
|
|
|
.card-cost { |
|
background: #6ea8fe; |
|
color: #000; |
|
border-radius: 50%; |
|
width: 24px; |
|
height: 24px; |
|
display: flex; |
|
align-items: center; |
|
justify-content: center; |
|
font-weight: bold; |
|
font-size: 12px; |
|
} |
|
|
|
.card-cost.too-expensive { |
|
background: #dc3545; |
|
color: white; |
|
} |
|
|
|
.card-art { |
|
font-size: 32px; |
|
text-align: center; |
|
margin: 5px 0; |
|
} |
|
|
|
.card-description { |
|
font-size: 12px; |
|
line-height: 1.3; |
|
margin-bottom: 8px; |
|
min-height: 32px; |
|
} |
|
|
|
.card-type { |
|
font-size: 10px; |
|
color: #6ea8fe; |
|
text-align: center; |
|
font-weight: bold; |
|
} |
|
|
|
.card-overlay { |
|
position: absolute; |
|
top: 0; |
|
left: 0; |
|
right: 0; |
|
bottom: 0; |
|
background: rgba(0, 0, 0, 0.8); |
|
display: flex; |
|
align-items: center; |
|
justify-content: center; |
|
border-radius: 12px; |
|
font-size: 12px; |
|
font-weight: bold; |
|
color: #dc3545; |
|
} |
|
|
|
.battle-controls { |
|
display: flex; |
|
justify-content: space-between; |
|
align-items: center; |
|
} |
|
|
|
.btn-end-turn { |
|
background: linear-gradient(135deg, #6ea8fe, #4c8fdf); |
|
color: #000; |
|
border: none; |
|
border-radius: 8px; |
|
padding: 12px 24px; |
|
font-weight: bold; |
|
cursor: pointer; |
|
transition: all 0.2s ease; |
|
} |
|
|
|
.btn-end-turn:hover { |
|
transform: translateY(-2px); |
|
box-shadow: 0 4px 12px rgba(110, 168, 254, 0.4); |
|
} |
|
|
|
.btn-key { |
|
font-size: 12px; |
|
opacity: 0.8; |
|
} |
|
|
|
.deck-info { |
|
display: flex; |
|
gap: 15px; |
|
font-size: 12px; |
|
color: #6ea8fe; |
|
} |
|
|
|
.battle-log { |
|
background: #111520; |
|
border: 1px solid #2a3247; |
|
border-radius: 8px; |
|
padding: 10px; |
|
margin-top: 10px; |
|
} |
|
|
|
.battle-log h4 { |
|
margin: 0 0 8px 0; |
|
font-size: 14px; |
|
} |
|
|
|
.log-content { |
|
font-size: 12px; |
|
line-height: 1.4; |
|
max-height: 100px; |
|
overflow-y: auto; |
|
} |
|
|
|
.no-cards { |
|
text-align: center; |
|
color: #6ea8fe; |
|
font-style: italic; |
|
padding: 40px; |
|
} |
|
|
|
.block-display, |
|
.debuff-display { |
|
display: inline-block; |
|
background: rgba(110, 168, 254, 0.2); |
|
padding: 4px 8px; |
|
border-radius: 4px; |
|
font-size: 12px; |
|
margin: 2px; |
|
} |
|
|
|
.debuff-display { |
|
background: rgba(111, 66, 193, 0.2); |
|
} |
|
|
|
.relics-display { |
|
margin-top: 10px; |
|
} |
|
|
|
.relic-item { |
|
display: inline-block; |
|
font-size: 20px; |
|
margin: 0 5px; |
|
cursor: help; |
|
} |
|
|
|
.list { |
|
display: flex; |
|
flex-direction: column; |
|
gap: 6px |
|
} |
|
|
|
|
|
.map-screen { |
|
width: 100%; |
|
margin: 0; |
|
min-height: 100vh; |
|
background: url('assets/backgrounds/terrace.png'); |
|
background-size: cover; |
|
background-position: center; |
|
background-attachment: fixed; |
|
} |
|
|
|
.main-content { |
|
display: flex; |
|
gap: 30px; |
|
align-items: flex-start; |
|
} |
|
|
|
.map-header-section { |
|
display: flex; |
|
justify-content: space-between; |
|
align-items: center; |
|
} |
|
|
|
.map-header-section h1 { |
|
margin: 0; |
|
flex: 1; |
|
} |
|
|
|
.game-logo { |
|
flex: 1; |
|
display: flex; |
|
justify-content: center; |
|
align-items: center; |
|
} |
|
|
|
.game-logo svg { |
|
max-width: 100%; |
|
height: auto; |
|
} |
|
|
|
.btn-reset-top { |
|
background: linear-gradient(135deg, #dc3545 0%, #b02a37 100%); |
|
color: white; |
|
border: 2px solid #c82333; |
|
border-radius: 8px; |
|
padding: 12px 20px; |
|
font-size: 14px; |
|
font-weight: bold; |
|
cursor: pointer; |
|
transition: all 0.2s ease; |
|
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.3); |
|
text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5); |
|
} |
|
|
|
.btn-reset-top:hover { |
|
background: linear-gradient(135deg, #e74c3c 0%, #c0392b 100%); |
|
border-color: #d32f2f; |
|
transform: translateY(-2px); |
|
box-shadow: 0 6px 12px rgba(0, 0, 0, 0.4); |
|
} |
|
|
|
.btn-reset-top:active { |
|
transform: translateY(0); |
|
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.3); |
|
} |
|
|
|
.btn-reset-status { |
|
background: linear-gradient(135deg, #dc3545 0%, #b02a37 100%); |
|
color: white; |
|
border: 2px solid #c82333; |
|
border-radius: 6px; |
|
padding: 8px 16px; |
|
font-size: 14px; |
|
font-weight: bold; |
|
cursor: pointer; |
|
transition: all 0.2s ease; |
|
box-shadow: 0 3px 6px rgba(0, 0, 0, 0.3); |
|
text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5); |
|
margin-left: auto; |
|
} |
|
|
|
.btn-reset-status:hover { |
|
background: linear-gradient(135deg, #e74c3c 0%, #c0392b 100%); |
|
border-color: #d32f2f; |
|
transform: translateY(-1px); |
|
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.4); |
|
} |
|
|
|
.btn-reset-status:active { |
|
transform: translateY(0); |
|
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.3); |
|
} |
|
|
|
.player-status { |
|
width: 1450px; |
|
margin: 0 auto 10px auto; |
|
display: flex; |
|
gap: 30px; |
|
align-items: center; |
|
background: |
|
radial-gradient(ellipse at 20% 30%, rgba(255, 255, 255, 0.03) 0%, transparent 60%), |
|
linear-gradient(135deg, #2a2a3a 0%, #1a1a2a 100%); |
|
border: 2px solid #3a3a4a; |
|
border-radius: 6px; |
|
padding: 10px 20px; |
|
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1); |
|
} |
|
|
|
.status-item { |
|
display: flex; |
|
align-items: center; |
|
gap: 10px; |
|
color: #d0d0d0; |
|
} |
|
|
|
.status-icon { |
|
font-size: 20px; |
|
} |
|
|
|
.status-icon-img { |
|
width: 20px; |
|
height: 20px; |
|
object-fit: contain; |
|
} |
|
|
|
.status-value { |
|
font-weight: bold; |
|
font-size: 18px; |
|
color: #f0e68c; |
|
text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.8); |
|
} |
|
|
|
.relics-inline { |
|
display: flex; |
|
gap: 8px; |
|
align-items: center; |
|
} |
|
|
|
.relic-inline { |
|
font-size: 20px; |
|
padding: 4px; |
|
background: rgba(212, 175, 55, 0.1); |
|
cursor: pointer; |
|
transition: all 0.2s ease; |
|
} |
|
|
|
.relic-inline:hover { |
|
background: rgba(212, 175, 55, 0.3); |
|
border-color: rgba(212, 175, 55, 0.6); |
|
transform: scale(1.1); |
|
} |
|
|
|
.relic-inline .relic-skill-art { |
|
width: 20px; |
|
height: 20px; |
|
object-fit: contain; |
|
vertical-align: middle; |
|
} |
|
|
|
|
|
.kreon-logo { |
|
font-family: "Kreon", serif; |
|
font-optical-sizing: auto; |
|
font-weight: 700; |
|
font-style: normal; |
|
} |
|
|
|
|
|
.custom-tooltip { |
|
position: fixed; |
|
background: linear-gradient(135deg, #2c1810 0%, #1a0f08 50%, #2c1810 100%); |
|
border: 3px solid #d4af37; |
|
border-radius: 12px; |
|
padding: 20px 24px; |
|
font-size: 16px; |
|
line-height: 1.6; |
|
color: #f0e68c; |
|
box-shadow: |
|
0 12px 32px rgba(0, 0, 0, 0.8), |
|
0 0 20px rgba(212, 175, 55, 0.3), |
|
inset 0 1px 0 rgba(255, 255, 255, 0.1), |
|
inset 0 -1px 0 rgba(0, 0, 0, 0.3); |
|
z-index: 10000; |
|
display: none; |
|
max-width: 380px; |
|
min-width: 260px; |
|
pointer-events: none; |
|
text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.8); |
|
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; |
|
font-weight: 400; |
|
} |
|
|
|
.custom-tooltip::before { |
|
content: ''; |
|
position: absolute; |
|
top: 50%; |
|
left: -10px; |
|
transform: translateY(-50%); |
|
width: 0; |
|
height: 0; |
|
border-top: 10px solid transparent; |
|
border-bottom: 10px solid transparent; |
|
border-right: 10px solid #d4af37; |
|
filter: drop-shadow(-2px 0 4px rgba(0, 0, 0, 0.5)); |
|
} |
|
|
|
.custom-tooltip::after { |
|
content: ''; |
|
position: absolute; |
|
top: 50%; |
|
left: -8px; |
|
transform: translateY(-50%); |
|
width: 0; |
|
height: 0; |
|
border-top: 8px solid transparent; |
|
border-bottom: 8px solid transparent; |
|
border-right: 8px solid #2c1810; |
|
} |
|
|
|
|
|
.tooltip-with-avatar { |
|
display: flex; |
|
gap: 16px; |
|
align-items: flex-start; |
|
} |
|
|
|
.tooltip-avatar { |
|
flex-shrink: 0; |
|
width: 70px; |
|
height: 70px; |
|
border-radius: 50%; |
|
overflow: hidden; |
|
border: 3px solid #d4af37; |
|
box-shadow: |
|
0 4px 12px rgba(0, 0, 0, 0.6), |
|
0 0 15px rgba(212, 175, 55, 0.4), |
|
inset 0 2px 0 rgba(255, 255, 255, 0.2); |
|
position: relative; |
|
} |
|
|
|
.tooltip-avatar::before { |
|
content: ''; |
|
position: absolute; |
|
top: -3px; |
|
left: -3px; |
|
right: -3px; |
|
bottom: -3px; |
|
border-radius: 50%; |
|
background: linear-gradient(45deg, #d4af37, #b8941f, #d4af37); |
|
z-index: -1; |
|
animation: avatarGlow 2s ease-in-out infinite alternate; |
|
} |
|
|
|
@keyframes avatarGlow { |
|
0% { |
|
opacity: 0.6; |
|
} |
|
|
|
100% { |
|
opacity: 1; |
|
} |
|
} |
|
|
|
.tooltip-avatar-img { |
|
width: 100%; |
|
height: 100%; |
|
object-fit: cover; |
|
} |
|
|
|
.tooltip-content { |
|
flex: 1; |
|
min-width: 0; |
|
padding-top: 4px; |
|
} |
|
|
|
.relics-section { |
|
background: linear-gradient(135deg, #3a2f1f 0%, #2a1f0f 100%); |
|
border: 2px solid #5a4a2a; |
|
border-radius: 6px; |
|
padding: 20px; |
|
margin-bottom: 20px; |
|
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1); |
|
} |
|
|
|
.relics-grid { |
|
display: flex; |
|
gap: 15px; |
|
flex-wrap: wrap; |
|
} |
|
|
|
|
|
.game-screen.relic-select { |
|
min-height: 100vh; |
|
background-image: url('assets/backgrounds/terrace.png'); |
|
background-size: cover; |
|
background-position: center; |
|
background-repeat: no-repeat; |
|
background-attachment: fixed; |
|
display: flex; |
|
flex-direction: column; |
|
font-family: 'Arial', sans-serif; |
|
position: relative; |
|
overflow: hidden; |
|
} |
|
|
|
.game-header { |
|
text-align: center; |
|
margin-bottom: 50px; |
|
padding: 30px 20px; |
|
} |
|
|
|
.relic-title-logo { |
|
position: relative; |
|
display: inline-block; |
|
margin-bottom: 20px; |
|
} |
|
|
|
.relic-title-logo svg { |
|
filter: |
|
drop-shadow(0 0 20px rgba(255, 215, 0, 0.4)) drop-shadow(0 0 40px rgba(255, 140, 0, 0.3)) drop-shadow(4px 4px 8px rgba(0, 0, 0, 0.6)); |
|
transition: all 0.3s ease; |
|
} |
|
|
|
.relic-title-logo:hover svg { |
|
filter: |
|
drop-shadow(0 0 30px rgba(255, 215, 0, 0.6)) drop-shadow(0 0 60px rgba(255, 140, 0, 0.4)) drop-shadow(4px 4px 8px rgba(0, 0, 0, 0.6)); |
|
transform: scale(1.05); |
|
} |
|
|
|
.relic-title-logo::before { |
|
content: ''; |
|
position: absolute; |
|
top: -20px; |
|
left: -20px; |
|
right: -20px; |
|
bottom: -20px; |
|
background: radial-gradient(ellipse at center, rgba(255, 215, 0, 0.1) 0%, transparent 70%); |
|
border-radius: 50%; |
|
z-index: -1; |
|
opacity: 0; |
|
transition: opacity 0.3s ease; |
|
} |
|
|
|
.relic-title-logo:hover::before { |
|
opacity: 1; |
|
} |
|
|
|
.game-header h1 { |
|
font-size: 36px; |
|
color: #d4af37; |
|
margin: 20px 0 12px 0; |
|
font-weight: bold; |
|
text-shadow: |
|
2px 2px 4px rgba(0, 0, 0, 0.8), |
|
0 0 20px rgba(212, 175, 55, 0.3); |
|
font-family: 'Kreon', serif; |
|
} |
|
|
|
.game-header p { |
|
font-size: 18px; |
|
color: #e0d0b0; |
|
margin: 0; |
|
text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.6); |
|
font-style: italic; |
|
} |
|
|
|
.relic-options { |
|
display: flex; |
|
flex-direction: column; |
|
gap: 16px; |
|
max-width: 600px; |
|
margin: 0 auto; |
|
flex: 1; |
|
} |
|
|
|
.relic-option { |
|
display: flex; |
|
align-items: center; |
|
background: |
|
radial-gradient(ellipse at 20% 30%, rgba(255, 255, 255, 0.03) 0%, transparent 60%), |
|
linear-gradient(135deg, #2a2a3a 0%, #1a1a2a 100%); |
|
border: 2px solid #3a3a4a; |
|
border-radius: 16px; |
|
padding: 30px; |
|
cursor: pointer; |
|
transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); |
|
box-shadow: |
|
0 6px 25px rgba(0, 0, 0, 0.4), |
|
inset 0 2px 4px rgba(255, 255, 255, 0.05), |
|
inset 0 -2px 4px rgba(0, 0, 0, 0.4); |
|
position: relative; |
|
overflow: hidden; |
|
min-height: 140px; |
|
} |
|
|
|
.relic-option::before { |
|
content: ''; |
|
position: absolute; |
|
top: 0; |
|
left: -100%; |
|
width: 100%; |
|
height: 100%; |
|
background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.08), transparent); |
|
transition: left 0.5s ease; |
|
} |
|
|
|
.relic-option:hover { |
|
border-color: #4a4a5a; |
|
background: |
|
radial-gradient(ellipse at 20% 30%, rgba(255, 255, 255, 0.06) 0%, transparent 60%), |
|
linear-gradient(135deg, #3a3a4a 0%, #2a2a3a 100%); |
|
transform: translateY(-2px) scale(1.02); |
|
box-shadow: |
|
0 8px 30px rgba(0, 0, 0, 0.5), |
|
inset 0 2px 4px rgba(255, 255, 255, 0.08), |
|
inset 0 -2px 4px rgba(0, 0, 0, 0.4); |
|
} |
|
|
|
.relic-option:hover::before { |
|
left: 100%; |
|
} |
|
|
|
.relic-option:active { |
|
transform: translateY(0px) scale(1.01); |
|
box-shadow: |
|
0 2px 15px rgba(0, 0, 0, 0.4), |
|
inset 0 2px 4px rgba(0, 0, 0, 0.3); |
|
} |
|
|
|
.relic-portrait { |
|
width: 100px; |
|
height: 100px; |
|
background: |
|
linear-gradient(135deg, #2a2a3a 0%, #1a1a2a 100%); |
|
border: 2px solid #3a3a4a; |
|
border-radius: 12px; |
|
display: flex; |
|
align-items: center; |
|
justify-content: center; |
|
margin-right: 24px; |
|
flex-shrink: 0; |
|
box-shadow: |
|
0 4px 12px rgba(0, 0, 0, 0.4), |
|
inset 0 1px 2px rgba(255, 255, 255, 0.05), |
|
inset 0 -1px 2px rgba(0, 0, 0, 0.4); |
|
position: relative; |
|
overflow: hidden; |
|
padding: 6px; |
|
} |
|
|
|
.relic-portrait::after { |
|
content: ''; |
|
position: absolute; |
|
top: -50%; |
|
left: -50%; |
|
width: 200%; |
|
height: 200%; |
|
background: conic-gradient(from 0deg, transparent, rgba(212, 175, 55, 0.1), transparent); |
|
animation: relicGlow 3s linear infinite; |
|
opacity: 0; |
|
transition: opacity 0.3s ease; |
|
} |
|
|
|
.relic-option:hover .relic-portrait::after { |
|
opacity: 1; |
|
} |
|
|
|
.relic-option:hover .relic-portrait { |
|
border-color: #4a4a5a; |
|
box-shadow: |
|
0 6px 18px rgba(0, 0, 0, 0.5), |
|
inset 0 2px 4px rgba(255, 255, 255, 0.08), |
|
inset 0 -2px 4px rgba(0, 0, 0, 0.4); |
|
transform: scale(1.05); |
|
} |
|
|
|
.relic-option:hover .relic-skill-art { |
|
transform: scale(1.05); |
|
} |
|
|
|
@keyframes relicGlow { |
|
0% { |
|
transform: rotate(0deg); |
|
} |
|
|
|
100% { |
|
transform: rotate(360deg); |
|
} |
|
} |
|
|
|
.relic-portrait .relic-icon { |
|
font-size: 36px; |
|
position: relative; |
|
z-index: 1; |
|
} |
|
|
|
.relic-skill-art { |
|
width: 70px; |
|
height: 70px; |
|
object-fit: contain; |
|
transition: all 0.3s ease; |
|
} |
|
|
|
.relic-info { |
|
flex: 1; |
|
display: flex; |
|
flex-direction: column; |
|
justify-content: center; |
|
padding: 4px 0; |
|
} |
|
|
|
.relic-name { |
|
font-size: 28px; |
|
font-weight: bold; |
|
color: #f0e68c; |
|
margin-bottom: 8px; |
|
text-shadow: |
|
2px 2px 4px rgba(0, 0, 0, 0.8), |
|
0 0 20px rgba(240, 230, 140, 0.4); |
|
font-family: 'Kreon', serif; |
|
letter-spacing: 0.8px; |
|
} |
|
|
|
.relic-description { |
|
font-size: 16px; |
|
color: #e0d0b0; |
|
line-height: 1.5; |
|
text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.6); |
|
font-style: italic; |
|
} |
|
|
|
.game-footer { |
|
text-align: center; |
|
margin-top: 50px; |
|
padding: 20px; |
|
background: |
|
linear-gradient(135deg, rgba(212, 175, 55, 0.05) 0%, transparent 50%); |
|
border-radius: 15px; |
|
border: 1px solid rgba(212, 175, 55, 0.1); |
|
} |
|
|
|
.footer-text { |
|
font-size: 16px; |
|
color: #c0b090; |
|
font-style: italic; |
|
text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.6); |
|
letter-spacing: 0.3px; |
|
} |
|
|
|
.relic-icon { |
|
font-size: 24px; |
|
margin-bottom: 5px; |
|
} |
|
|
|
.relic-name { |
|
font-size: 24px; |
|
font-weight: bold; |
|
} |
|
|
|
.map-section { |
|
background: |
|
radial-gradient(ellipse at 20% 30%, rgba(255, 255, 255, 0.03) 0%, transparent 60%), |
|
linear-gradient(135deg, #2a2a3a 0%, #1a1a2a 100%); |
|
border: 2px solid #3a3a4a; |
|
border-radius: 6px; |
|
padding: 20px; |
|
margin-bottom: 20px; |
|
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1); |
|
} |
|
|
|
|
|
.welcome-panel { |
|
width: 500px; |
|
display: flex; |
|
flex-direction: column; |
|
gap: 25px; |
|
} |
|
|
|
.birthday-message { |
|
background: |
|
radial-gradient(ellipse at 20% 30%, rgba(255, 255, 255, 0.03) 0%, transparent 60%), |
|
linear-gradient(135deg, #2a2a3a 0%, #1a1a2a 100%); |
|
border: 3px solid #d4af37; |
|
border-radius: 16px; |
|
padding: 25px 13px; |
|
text-align: center; |
|
box-shadow: |
|
0 8px 24px rgba(0, 0, 0, 0.4), |
|
inset 0 2px 0 rgba(255, 255, 255, 0.15), |
|
0 0 20px rgba(212, 175, 55, 0.3); |
|
} |
|
|
|
.birthday-message h2 { |
|
font-size: 24px; |
|
color: #d4af37; |
|
margin: 0 0 15px 0; |
|
text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.8); |
|
font-weight: bold; |
|
} |
|
|
|
.birthday-message p { |
|
font-size: 16px; |
|
color: #e8e8e8; |
|
margin: 0; |
|
text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.8); |
|
} |
|
|
|
.map-instructions { |
|
background: |
|
radial-gradient(ellipse at 20% 30%, rgba(255, 255, 255, 0.03) 0%, transparent 60%), |
|
linear-gradient(135deg, #2a2a3a 0%, #1a1a2a 100%); |
|
border: 2px solid #3a3a4a; |
|
border-radius: 12px; |
|
padding: 20px; |
|
box-shadow: |
|
0 4px 16px rgba(0, 0, 0, 0.3), |
|
inset 0 1px 0 rgba(255, 255, 255, 0.1); |
|
} |
|
|
|
.map-instructions h3 { |
|
font-size: 18px; |
|
color: #d4af37; |
|
margin: 0 0 15px 0; |
|
text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.8); |
|
font-weight: bold; |
|
} |
|
|
|
.map-instructions ul { |
|
margin: 0 0 20px 0; |
|
padding-left: 20px; |
|
color: #e8e8e8; |
|
} |
|
|
|
.map-instructions li { |
|
margin-bottom: 8px; |
|
text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.6); |
|
line-height: 1.4; |
|
} |
|
|
|
.map-instructions strong { |
|
color: #d4af37; |
|
} |
|
|
|
.birthday-wish { |
|
border-top: 1px solid #4a3428; |
|
padding-top: 15px; |
|
margin-top: 15px; |
|
text-align: center; |
|
} |
|
|
|
.birthday-wish p { |
|
color: #b8941f; |
|
font-size: 14px; |
|
margin: 0; |
|
text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.8); |
|
} |
|
|
|
|
|
.map-section { |
|
width: 1450px; |
|
margin: 0 auto; |
|
display: flex; |
|
align-items: flex-start; |
|
gap: 20px; |
|
} |
|
|
|
/* Act Progress Indicator */ |
|
.act-progress-indicator { |
|
margin: 0 0 10px 0; |
|
border-radius: 4px; |
|
width: 930px; |
|
} |
|
|
|
.act-progress-title { |
|
font-size: 11px; |
|
font-weight: 500; |
|
color: rgba(212, 175, 55, 0.7); |
|
margin-bottom: 6px; |
|
text-align: center; |
|
opacity: 0.8; |
|
} |
|
|
|
.act-progress-bar { |
|
display: flex; |
|
align-items: center; |
|
justify-content: center; |
|
gap: 0; |
|
} |
|
|
|
.act-step { |
|
display: flex; |
|
flex-direction: column; |
|
align-items: center; |
|
padding: 4px 12px; |
|
border-radius: 3px; |
|
transition: all 0.2s ease; |
|
} |
|
|
|
.act-step.locked { |
|
opacity: 0.3; |
|
border: 1px solid rgba(212, 175, 55, 0.4); |
|
} |
|
|
|
.act-step.current { |
|
background: rgba(212, 175, 55, 0.1); |
|
border: 1px solid rgba(212, 175, 55, 0.4); |
|
} |
|
|
|
.act-step.completed { |
|
background: rgba(76, 175, 80, 0.1); |
|
border: 1px solid rgba(76, 175, 80, 0.4); |
|
} |
|
|
|
.act-number { |
|
font-size: 14px; |
|
font-weight: 600; |
|
font-family: "Kreon", serif; |
|
margin-bottom: 2px; |
|
} |
|
|
|
.act-step.current .act-number { |
|
color: var(--accent); |
|
} |
|
|
|
.act-step.completed .act-number { |
|
color: #4CAF50; |
|
} |
|
|
|
.act-step.locked .act-number { |
|
color: #555; |
|
} |
|
|
|
.act-name { |
|
font-size: 12px; |
|
font-weight: 400; |
|
text-align: center; |
|
line-height: 1.1; |
|
opacity: 0.8; |
|
} |
|
|
|
.act-connector { |
|
width: 40px; |
|
height: 2px; |
|
background: rgba(68, 68, 68, 0.4); |
|
margin: 0 6px; |
|
border-radius: 1px; |
|
transition: all 0.2s ease; |
|
} |
|
|
|
.act-connector.active { |
|
background: rgba(212, 175, 55, 0.6); |
|
box-shadow: 0 0 4px rgba(212, 175, 55, 0.3); |
|
} |
|
|
|
.spire-map { |
|
position: relative; |
|
width: 930px; |
|
height: 700px; |
|
background: linear-gradient(180deg, #C8B99C 0%, #A0927A 50%, #8B7D6B 100%); |
|
border-radius: 8px; |
|
overflow: hidden; |
|
box-shadow: inset 0 0 50px rgba(0, 0, 0, 0.2); |
|
} |
|
|
|
|
|
.map-legend-overlay { |
|
position: absolute; |
|
top: 20px; |
|
right: 20px; |
|
background: linear-gradient(135deg, rgb(74, 47, 31) 0%, rgb(58, 31, 15) 100%); |
|
border: 2px solid #FFFFFF; |
|
border-radius: 8px; |
|
padding: 12px; |
|
min-width: 140px; |
|
z-index: 10; |
|
backdrop-filter: blur(2px); |
|
} |
|
|
|
.legend-title { |
|
font-weight: bold; |
|
font-size: 16px; |
|
color: #FFFFFF; |
|
margin-bottom: 8px; |
|
text-align: center; |
|
} |
|
|
|
.legend-item { |
|
display: flex; |
|
align-items: center; |
|
margin-bottom: 4px; |
|
font-size: 13px; |
|
color: #FFFFFF; |
|
line-height: 1.5; |
|
} |
|
|
|
.legend-icon { |
|
margin-right: 6px; |
|
font-size: 12px; |
|
width: 16px; |
|
text-align: center; |
|
} |
|
|
|
.spire-paths { |
|
position: absolute; |
|
top: 0; |
|
left: 0; |
|
width: 100%; |
|
height: 100%; |
|
z-index: 1; |
|
} |
|
|
|
.spire-path { |
|
transition: all 0.3s ease; |
|
} |
|
|
|
.spire-path.active { |
|
filter: drop-shadow(0 0 8px rgba(212, 175, 55, 0.6)); |
|
} |
|
|
|
.spire-nodes { |
|
position: relative; |
|
width: 100%; |
|
height: 100%; |
|
z-index: 2; |
|
} |
|
|
|
|
|
.spire-node { |
|
position: absolute; |
|
width: 60px; |
|
height: 60px; |
|
cursor: pointer; |
|
transition: all 0.3s ease; |
|
transform-origin: center; |
|
} |
|
|
|
.spire-node .node-background { |
|
position: absolute; |
|
top: 0; |
|
left: 0; |
|
width: 100%; |
|
height: 100%; |
|
background: #5A5A5A; |
|
border: 3px solid #3A3A3A; |
|
border-radius: 50%; |
|
box-shadow: 0 2px 6px rgba(0, 0, 0, 0.5), inset 0 1px 0 rgba(255, 255, 255, 0.2); |
|
transition: all 0.3s ease; |
|
} |
|
|
|
|
|
.spire-node .node-background.battle { |
|
background: #8B4513; |
|
border-color: #654321; |
|
} |
|
|
|
.spire-node .node-background.elite { |
|
background: #8B0000; |
|
border-color: #654321; |
|
} |
|
|
|
.spire-node .node-background.rest { |
|
background: #4682B4; |
|
border-color: #2F4F4F; |
|
} |
|
|
|
.spire-node .node-background.shop { |
|
background: #DAA520; |
|
border-color: #B8860B; |
|
} |
|
|
|
.spire-node .node-background.treasure { |
|
background: #FFD700; |
|
border-color: #DAA520; |
|
} |
|
|
|
.spire-node .node-background.event { |
|
background: #9932CC; |
|
border-color: #663399; |
|
} |
|
|
|
.spire-node .node-content { |
|
position: relative; |
|
z-index: 2; |
|
width: 100%; |
|
height: 100%; |
|
display: flex; |
|
align-items: center; |
|
justify-content: center; |
|
text-align: center; |
|
} |
|
|
|
.spire-node .node-icon { |
|
font-size: 24px; |
|
filter: drop-shadow(1px 1px 2px rgba(0, 0, 0, 0.8)); |
|
} |
|
|
|
.current-indicator { |
|
position: absolute; |
|
top: -8px; |
|
right: -8px; |
|
background: #FFD700; |
|
color: #000; |
|
border-radius: 50%; |
|
width: 20px; |
|
height: 20px; |
|
display: flex; |
|
align-items: center; |
|
justify-content: center; |
|
font-size: 12px; |
|
font-weight: bold; |
|
z-index: 3; |
|
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.5); |
|
} |
|
|
|
|
|
.spire-node.current .node-background { |
|
border-color: #FFD700 !important; |
|
box-shadow: 0 0 15px rgba(255, 215, 0, 0.8), 0 2px 6px rgba(0, 0, 0, 0.5), inset 0 1px 0 rgba(255, 255, 255, 0.3); |
|
} |
|
|
|
.spire-node.available { |
|
cursor: pointer; |
|
} |
|
|
|
.spire-node.available:hover { |
|
transform: scale(1.15); |
|
} |
|
|
|
.spire-node.available:hover .node-background { |
|
box-shadow: 0 0 12px rgba(255, 255, 255, 0.6), 0 4px 8px rgba(0, 0, 0, 0.6), inset 0 1px 0 rgba(255, 255, 255, 0.4); |
|
border-color: #FFF !important; |
|
} |
|
|
|
.spire-node.completed .node-background { |
|
opacity: 0.6; |
|
filter: grayscale(0.5); |
|
} |
|
|
|
.spire-node.locked .node-background { |
|
opacity: 0.3; |
|
filter: grayscale(1); |
|
} |
|
|
|
.spire-node.locked { |
|
cursor: not-allowed; |
|
} |
|
|
|
|
|
.current-pulse { |
|
position: absolute; |
|
top: -5px; |
|
left: -5px; |
|
right: -5px; |
|
bottom: -5px; |
|
border: 2px solid #d4af37; |
|
border-radius: 50%; |
|
animation: currentPulse 2s ease-in-out infinite; |
|
z-index: 1; |
|
} |
|
|
|
@keyframes currentPulse { |
|
|
|
0%, |
|
100% { |
|
transform: scale(1); |
|
opacity: 1; |
|
} |
|
|
|
50% { |
|
transform: scale(1.2); |
|
opacity: 0.3; |
|
} |
|
} |
|
|
|
|
|
.map-node { |
|
background: linear-gradient(135deg, #4a3a2a 0%, #3a2a1a 100%); |
|
border: 2px solid #6a5a4a; |
|
border-radius: 6px; |
|
padding: 15px; |
|
text-align: center; |
|
cursor: pointer; |
|
transition: all 0.15s ease; |
|
position: relative; |
|
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1); |
|
} |
|
|
|
.map-node.current { |
|
border-color: #d4af37; |
|
background: linear-gradient(135deg, #5a4a2a 0%, #4a3a1a 100%); |
|
box-shadow: 0 0 20px rgba(212, 175, 55, 0.4), inset 0 1px 0 rgba(255, 255, 255, 0.2); |
|
} |
|
|
|
.map-node.available { |
|
border-color: #5a8a3a; |
|
background: linear-gradient(135deg, #4a5a2a 0%, #3a4a1a 100%); |
|
cursor: pointer; |
|
} |
|
|
|
.map-node.available:hover { |
|
transform: translateY(-2px); |
|
box-shadow: 0 6px 16px rgba(90, 138, 58, 0.4), inset 0 1px 0 rgba(255, 255, 255, 0.2); |
|
border-color: #6a9a4a; |
|
} |
|
|
|
.map-node.completed { |
|
border-color: #6c757d; |
|
background: #1a1d29; |
|
opacity: 0.7; |
|
} |
|
|
|
.map-node.locked { |
|
border-color: #495057; |
|
background: #1a1d29; |
|
opacity: 0.4; |
|
cursor: not-allowed; |
|
} |
|
|
|
.node-icon { |
|
font-size: 32px; |
|
margin-bottom: 8px; |
|
} |
|
|
|
.node-label { |
|
font-weight: bold; |
|
font-size: 14px; |
|
margin-bottom: 4px; |
|
} |
|
|
|
.node-id { |
|
font-size: 12px; |
|
color: #6ea8fe; |
|
} |
|
|
|
.current-marker { |
|
position: absolute; |
|
bottom: -8px; |
|
left: 50%; |
|
transform: translateX(-50%); |
|
background: #6ea8fe; |
|
color: #000; |
|
padding: 2px 8px; |
|
border-radius: 4px; |
|
font-size: 10px; |
|
font-weight: bold; |
|
} |
|
|
|
.available-marker { |
|
position: absolute; |
|
bottom: -8px; |
|
left: 50%; |
|
transform: translateX(-50%); |
|
background: #28a745; |
|
color: white; |
|
padding: 2px 8px; |
|
border-radius: 4px; |
|
font-size: 10px; |
|
font-weight: bold; |
|
} |
|
|
|
|
|
.deck-stack-container { |
|
position: fixed; |
|
bottom: 20px; |
|
right: 20px; |
|
z-index: 50; |
|
} |
|
|
|
.deck-stack-header { |
|
display: flex; |
|
align-items: center; |
|
gap: 8px; |
|
background: linear-gradient(135deg, #3a2f1f 0%, #2c1810 100%); |
|
border: 2px solid #5a4a2a; |
|
border-radius: 8px; |
|
padding: 8px 12px; |
|
margin-bottom: 10px; |
|
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.4); |
|
} |
|
|
|
.deck-count { |
|
color: #d4af37; |
|
font-weight: bold; |
|
font-size: 14px; |
|
} |
|
|
|
.deck-stack { |
|
position: relative; |
|
width: 200px; |
|
height: 300px; |
|
cursor: pointer; |
|
transition: all 0.3s ease; |
|
} |
|
|
|
.deck-stack-card { |
|
position: absolute; |
|
width: 200px; |
|
height: 300px; |
|
cursor: pointer; |
|
transition: all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94); |
|
transform-style: preserve-3d; |
|
transform-origin: center bottom; |
|
} |
|
|
|
|
|
.deck-stack-card { |
|
top: calc(var(--card-index) * 2px); |
|
left: calc(var(--card-index) * 1px); |
|
z-index: calc(20 - var(--card-index)); |
|
} |
|
|
|
|
|
.deck-stack:hover .deck-stack-card { |
|
transform: |
|
translateX(calc(var(--card-index) * -140px)) translateY(calc(var(--card-index) * -30px)); |
|
z-index: calc(30 + var(--card-index)); |
|
} |
|
|
|
.deck-stack:hover .deck-stack-card:hover { |
|
transform: |
|
translateX(calc(var(--card-index) * -140px)) translateY(calc(var(--card-index) * -30px - 15px)) scale(1.05); |
|
z-index: 100; |
|
} |
|
|
|
|
|
.deck-stack-card .card-frame { |
|
position: relative; |
|
width: 100%; |
|
height: 100%; |
|
background: |
|
linear-gradient(135deg, #4a3428 0%, #2a1f18 100%), |
|
radial-gradient(ellipse at center, rgba(139, 115, 85, 0.3) 0%, transparent 70%); |
|
border-radius: 16px; |
|
border: 3px solid #8b7355; |
|
padding: 8px; |
|
display: flex; |
|
flex-direction: column; |
|
box-shadow: |
|
0 8px 24px rgba(0, 0, 0, 0.4), |
|
inset 0 2px 0 rgba(255, 255, 255, 0.15), |
|
inset 0 -2px 0 rgba(0, 0, 0, 0.4), |
|
inset 2px 0 0 rgba(255, 255, 255, 0.1), |
|
inset -2px 0 0 rgba(0, 0, 0, 0.3); |
|
transition: all 0.4s ease; |
|
overflow: hidden; |
|
} |
|
|
|
.deck-stack-card .card-header-row { |
|
position: relative; |
|
margin-bottom: 12px; |
|
margin-top: 8px; |
|
} |
|
|
|
.deck-stack-card .card-title { |
|
font-weight: bold; |
|
font-size: 16px; |
|
color: #ffffff; |
|
text-shadow: 2px 2px 4px rgba(0, 0, 0, 1); |
|
text-align: center; |
|
background: |
|
linear-gradient(135deg, #8b7355 0%, #6b5a45 50%, #4a3428 100%); |
|
padding: 6px 12px; |
|
margin: 0 8px; |
|
border-radius: 12px; |
|
border: 2px solid #a68b6b; |
|
box-shadow: |
|
0 2px 4px rgba(0, 0, 0, 0.4), |
|
inset 0 1px 0 rgba(255, 255, 255, 0.2), |
|
inset 0 -1px 0 rgba(0, 0, 0, 0.3); |
|
position: relative; |
|
z-index: 5; |
|
} |
|
|
|
.deck-stack-card .card-cost-orb { |
|
width: 36px; |
|
height: 36px; |
|
border-radius: 50%; |
|
background: |
|
radial-gradient(circle at 30% 30%, #ff6b35, #d4af37, #8b4513), |
|
linear-gradient(135deg, #ff6b35 0%, #d4af37 50%, #8b4513 100%); |
|
color: #fff; |
|
display: flex; |
|
align-items: center; |
|
justify-content: center; |
|
font-weight: bold; |
|
font-size: 16px; |
|
text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.8); |
|
box-shadow: |
|
0 4px 12px rgba(212, 175, 55, 0.6), |
|
inset 0 2px 0 rgba(255, 255, 255, 0.3), |
|
inset 0 -2px 0 rgba(0, 0, 0, 0.3); |
|
border: 2px solid #8b4513; |
|
position: absolute; |
|
top: -8px; |
|
left: -8px; |
|
z-index: 10; |
|
} |
|
|
|
.deck-stack-card .card-art { |
|
flex: 1; |
|
display: flex; |
|
flex-direction: column; |
|
align-items: center; |
|
justify-content: center; |
|
position: relative; |
|
margin: 8px 4px; |
|
background: |
|
linear-gradient(135deg, #2a1f18 0%, #1a0f08 100%), |
|
radial-gradient(ellipse at center, rgba(139, 115, 85, 0.2) 0%, transparent 70%); |
|
border: 2px solid #4a3428; |
|
border-radius: 8px; |
|
box-shadow: |
|
inset 0 2px 4px rgba(0, 0, 0, 0.5), |
|
inset 0 -1px 0 rgba(255, 255, 255, 0.1); |
|
overflow: hidden; |
|
} |
|
|
|
.deck-stack-card .card-art img { |
|
width: 100%; |
|
height: 100%; |
|
object-fit: contain; |
|
filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.6)); |
|
} |
|
|
|
.deck-stack-card .card-description-box { |
|
background: |
|
linear-gradient(135deg, rgba(26, 15, 8, 0.9) 0%, rgba(42, 31, 24, 0.7) 100%); |
|
border: 1px solid #4a3428; |
|
border-radius: 8px; |
|
padding: 10px; |
|
margin: 4px; |
|
margin-bottom: 8px; |
|
box-shadow: |
|
inset 0 1px 2px rgba(0, 0, 0, 0.5), |
|
0 1px 0 rgba(255, 255, 255, 0.1); |
|
} |
|
|
|
.deck-stack-card .card-text { |
|
font-size: 12px; |
|
line-height: 1.4; |
|
color: #e8e8e8; |
|
text-align: center; |
|
text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.8); |
|
font-weight: 500; |
|
} |
|
|
|
|
|
.deck-stack-card.attack .card-frame { |
|
border-color: #c82333; |
|
background: linear-gradient(135deg, #4a2f1f 0%, #3a1f0f 100%); |
|
} |
|
|
|
.deck-stack-card.skill .card-frame { |
|
border-color: #5a8a3a; |
|
background: linear-gradient(135deg, #3f4a2f 0%, #2f3a1f 100%); |
|
} |
|
|
|
.deck-stack-card.power .card-frame { |
|
border-color: #8a5aa3; |
|
background: linear-gradient(135deg, #4a3f4a 0%, #3a2f3a 100%); |
|
} |
|
|
|
.deck-stack-card .card-count-badge { |
|
position: absolute; |
|
top: 3px; |
|
right: 5%; |
|
background: #dc3545; |
|
color: white; |
|
border-radius: 50%; |
|
width: 16px; |
|
height: 16px; |
|
display: flex; |
|
align-items: center; |
|
justify-content: center; |
|
font-size: 8px; |
|
font-weight: bold; |
|
border: 1px solid #fff; |
|
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.4); |
|
} |
|
|
|
|
|
.deck-stack-card.attack { |
|
border-color: #dc3545; |
|
} |
|
|
|
.deck-stack-card.skill { |
|
border-color: #28a745; |
|
} |
|
|
|
.deck-stack-card.power { |
|
border-color: #6f42c1; |
|
} |
|
|
|
.deck-preview { |
|
display: flex; |
|
flex-wrap: wrap; |
|
gap: 12px; |
|
margin-top: 15px; |
|
justify-content: flex-start; |
|
} |
|
|
|
.deck-card-wrapper { |
|
position: relative; |
|
} |
|
|
|
.battle-card.deck-display { |
|
width: 200px; |
|
height: 280px; |
|
cursor: default; |
|
transition: transform 0.3s ease; |
|
margin: 8px; |
|
|
|
transform: rotate(0deg) !important; |
|
} |
|
|
|
.battle-card.deck-display:hover { |
|
transform: translateY(-5px) scale(1.02); |
|
z-index: 5; |
|
} |
|
|
|
.battle-card.deck-display .card-title { |
|
font-size: 14px; |
|
line-height: 1.2; |
|
overflow: hidden; |
|
text-overflow: ellipsis; |
|
white-space: nowrap; |
|
max-width: 160px; |
|
} |
|
|
|
.battle-card.deck-display .card-cost-orb { |
|
font-size: 15px; |
|
font-weight: bold; |
|
width: 28px; |
|
height: 28px; |
|
top: -8px; |
|
left: -4px; |
|
} |
|
|
|
.card-count-badge { |
|
position: absolute; |
|
top: -8px; |
|
right: -8px; |
|
background: #d4af37; |
|
color: #000; |
|
border-radius: 50%; |
|
width: 24px; |
|
height: 24px; |
|
display: flex; |
|
align-items: center; |
|
justify-content: center; |
|
font-size: 12px; |
|
font-weight: bold; |
|
border: 2px solid #fff; |
|
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.5); |
|
z-index: 10; |
|
} |
|
|
|
|
|
.deck-card { |
|
background: linear-gradient(135deg, #4a3a2a 0%, #3a2a1a 100%); |
|
border: 1px solid #6a5a4a; |
|
border-radius: 4px; |
|
padding: 8px 12px; |
|
display: flex; |
|
align-items: center; |
|
gap: 8px; |
|
font-size: 12px; |
|
color: #d0d0d0; |
|
} |
|
|
|
.card-icon { |
|
font-size: 16px; |
|
} |
|
|
|
.card-count { |
|
background: #6ea8fe; |
|
color: #000; |
|
border-radius: 50%; |
|
width: 20px; |
|
height: 20px; |
|
display: flex; |
|
align-items: center; |
|
justify-content: center; |
|
font-size: 10px; |
|
font-weight: bold; |
|
} |
|
|
|
.game-controls { |
|
background: #1b2030; |
|
border: 1px solid #2a3247; |
|
border-radius: 12px; |
|
padding: 20px; |
|
text-align: center; |
|
margin-top: 20px; |
|
} |
|
|
|
.btn-reset { |
|
background: linear-gradient(135deg, #dc3545, #c82333); |
|
color: white; |
|
border: none; |
|
border-radius: 8px; |
|
padding: 12px 24px; |
|
font-weight: bold; |
|
cursor: pointer; |
|
transition: all 0.2s ease; |
|
font-size: 14px; |
|
} |
|
|
|
.btn-reset:hover { |
|
transform: translateY(-2px); |
|
box-shadow: 0 4px 12px rgba(220, 53, 69, 0.4); |
|
} |
|
|
|
.controls-info { |
|
margin-top: 10px; |
|
} |
|
|
|
.quick-reset { |
|
position: fixed; |
|
top: 80px; |
|
right: 20px; |
|
z-index: 1000; |
|
} |
|
|
|
.btn-reset-small { |
|
background: linear-gradient(135deg, #dc3545, #c82333); |
|
color: white; |
|
border: none; |
|
border-radius: 6px; |
|
padding: 8px 12px; |
|
font-weight: bold; |
|
cursor: pointer; |
|
transition: all 0.2s ease; |
|
font-size: 12px; |
|
opacity: 0.8; |
|
} |
|
|
|
.btn-reset-small:hover { |
|
opacity: 1; |
|
transform: translateY(-1px); |
|
box-shadow: 0 2px 8px rgba(220, 53, 69, 0.4); |
|
} |
|
|
|
.log { |
|
white-space: pre-wrap; |
|
background: #111520; |
|
border-radius: 8px; |
|
padding: 10px; |
|
max-height: 200px; |
|
overflow: auto; |
|
font-size: 12px |
|
} |
|
|
|
.hr { |
|
height: 1px; |
|
background: #293148; |
|
margin: 10px 0 |
|
} |
|
|
|
|
|
.rest-screen { |
|
min-height: 100vh; |
|
background: url('assets/backgrounds/terrace.png'); |
|
background-size: cover; |
|
background-position: center; |
|
background-attachment: fixed; |
|
display: flex; |
|
flex-direction: column; |
|
align-items: center; |
|
justify-content: center; |
|
text-align: center; |
|
} |
|
|
|
.rest-header { |
|
margin-bottom: 50px; |
|
} |
|
|
|
.rest-header h1 { |
|
font-size: 36px; |
|
color: #d4af37; |
|
margin: 0 0 15px 0; |
|
text-shadow: |
|
2px 2px 4px rgba(0, 0, 0, 0.8), |
|
0 0 20px rgba(212, 175, 55, 0.3); |
|
font-weight: bold; |
|
} |
|
|
|
.rest-header p { |
|
font-size: 18px; |
|
color: #e8e8e8; |
|
margin: 0; |
|
text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.8); |
|
} |
|
|
|
.rest-options { |
|
display: flex; |
|
gap: 40px; |
|
justify-content: center; |
|
align-items: center; |
|
max-width: 800px; |
|
} |
|
|
|
.rest-option { |
|
display: flex; |
|
align-items: center; |
|
background: |
|
radial-gradient(ellipse at 20% 30%, rgba(255, 255, 255, 0.03) 0%, transparent 60%), |
|
linear-gradient(135deg, #2a2a3a 0%, #1a1a2a 100%); |
|
border: 2px solid #3a3a4a; |
|
border-radius: 16px; |
|
padding: 30px; |
|
cursor: pointer; |
|
transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); |
|
box-shadow: |
|
0 6px 25px rgba(0, 0, 0, 0.4), |
|
inset 0 2px 4px rgba(255, 255, 255, 0.05), |
|
inset 0 -2px 4px rgba(0, 0, 0, 0.4); |
|
min-width: 300px; |
|
text-align: left; |
|
} |
|
|
|
.rest-option:hover { |
|
border-color: #4a4a5a; |
|
background: |
|
radial-gradient(ellipse at 20% 30%, rgba(255, 255, 255, 0.06) 0%, transparent 60%), |
|
linear-gradient(135deg, #3a3a4a 0%, #2a2a3a 100%); |
|
box-shadow: |
|
0 8px 30px rgba(0, 0, 0, 0.5), |
|
inset 0 2px 4px rgba(255, 255, 255, 0.08), |
|
inset 0 -2px 4px rgba(0, 0, 0, 0.4); |
|
transform: translateY(-2px); |
|
} |
|
|
|
.rest-icon { |
|
margin-right: 20px; |
|
flex-shrink: 0; |
|
} |
|
|
|
.rest-icon-img { |
|
width: 60px; |
|
height: 60px; |
|
object-fit: contain; |
|
filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.6)); |
|
} |
|
|
|
.rest-content h3 { |
|
font-size: 20px; |
|
color: #d4af37; |
|
margin: 0 0 8px 0; |
|
font-weight: bold; |
|
text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.8); |
|
} |
|
|
|
.rest-content p { |
|
font-size: 14px; |
|
color: #e8e8e8; |
|
margin: 0; |
|
line-height: 1.4; |
|
text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.6); |
|
} |
|
|
|
|
|
.upgrade-screen { |
|
min-height: 100vh; |
|
background: url('assets/backgrounds/terrace.png'); |
|
background-size: cover; |
|
background-position: center; |
|
background-attachment: fixed; |
|
display: flex; |
|
flex-direction: column; |
|
align-items: center; |
|
justify-content: center; |
|
text-align: center; |
|
} |
|
|
|
.upgrade-preview { |
|
background: rgba(0, 0, 0, 0.7); |
|
border: 2px solid #d4af37; |
|
border-radius: 16px; |
|
padding: 20px; |
|
margin-bottom: 20px; |
|
width: 100%; |
|
max-width: 1100px; |
|
overflow: hidden; |
|
} |
|
|
|
.upgrade-action-header { |
|
margin-bottom: 20px; |
|
text-align: center; |
|
} |
|
|
|
.upgrade-action-header h3 { |
|
color: #d4af37; |
|
font-size: 24px; |
|
margin: 0 0 8px 0; |
|
text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.8); |
|
} |
|
|
|
.upgrade-action-header p { |
|
color: #e8e8e8; |
|
font-size: 14px; |
|
margin: 0; |
|
opacity: 0.9; |
|
} |
|
|
|
.upgrade-comparison { |
|
display: flex; |
|
align-items: center; |
|
justify-content: center; |
|
gap: 40px; |
|
flex-wrap: wrap; |
|
width: 100%; |
|
max-width: 1000px; |
|
margin: 0 auto; |
|
} |
|
|
|
.upgrade-card-container { |
|
display: flex; |
|
flex-direction: column; |
|
align-items: center; |
|
width: 300px; |
|
padding-left: 120px; |
|
} |
|
|
|
.upgrade-card-label { |
|
background: rgba(212, 175, 55, 0.2); |
|
color: #d4af37; |
|
font-size: 12px; |
|
font-weight: bold; |
|
text-align: center; |
|
padding: 4px 12px; |
|
border-radius: 8px; |
|
margin-bottom: 12px; |
|
text-transform: uppercase; |
|
letter-spacing: 1px; |
|
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.3); |
|
} |
|
|
|
.upgrade-card-before, |
|
.upgrade-card-after { |
|
pointer-events: none; |
|
transform: scale(0.75); |
|
transition: all 0.3s ease; |
|
width: fit-content; |
|
} |
|
|
|
.upgrade-card-before { |
|
opacity: 0.9; |
|
} |
|
|
|
.upgrade-card-after { |
|
opacity: 1; |
|
box-shadow: 0 0 20px rgba(212, 175, 55, 0.3); |
|
} |
|
|
|
.upgrade-arrow { |
|
display: flex; |
|
align-items: center; |
|
justify-content: center; |
|
min-height: 200px; |
|
} |
|
|
|
.upgrade-arrow-container { |
|
display: flex; |
|
align-items: center; |
|
justify-content: center; |
|
background: rgba(0, 0, 0, 0.6); |
|
border: 2px solid #d4af37; |
|
border-radius: 12px; |
|
padding: 12px 16px; |
|
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.4); |
|
} |
|
|
|
.upgrade-arrow-text { |
|
color: #d4af37; |
|
font-weight: bold; |
|
font-size: 16px; |
|
text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.8); |
|
white-space: nowrap; |
|
letter-spacing: 1px; |
|
} |
|
|
|
.upgrade-header { |
|
margin-top: 40px; |
|
margin-bottom: 40px; |
|
} |
|
|
|
|
|
.shop-screen { |
|
min-height: 100vh; |
|
background: url('assets/backgrounds/terrace.png'); |
|
background-size: cover; |
|
background-position: center; |
|
background-attachment: fixed; |
|
display: flex; |
|
flex-direction: column; |
|
align-items: center; |
|
color: #e8e8e8; |
|
} |
|
|
|
.shop-header { |
|
text-align: center; |
|
margin-bottom: 40px; |
|
background: rgba(0, 0, 0, 0.8); |
|
border: 2px solid #d4af37; |
|
border-radius: 16px; |
|
padding: 30px; |
|
box-shadow: 0 8px 32px rgba(0, 0, 0, 0.6); |
|
margin-top: 40px; |
|
} |
|
|
|
.shop-header h1 { |
|
font-size: 36px; |
|
color: #d4af37; |
|
margin: 0 0 12px 0; |
|
text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.8); |
|
} |
|
|
|
.shop-header p { |
|
font-size: 16px; |
|
margin: 0 0 20px 0; |
|
opacity: 0.9; |
|
} |
|
|
|
.player-gold { |
|
display: flex; |
|
align-items: center; |
|
justify-content: center; |
|
gap: 12px; |
|
background: rgba(212, 175, 55, 0.2); |
|
border: 2px solid #d4af37; |
|
border-radius: 12px; |
|
padding: 12px 20px; |
|
font-size: 20px; |
|
font-weight: bold; |
|
} |
|
|
|
.gold-icon, |
|
.price-icon { |
|
width: 24px; |
|
height: 24px; |
|
object-fit: contain; |
|
} |
|
|
|
.gold-amount { |
|
color: #d4af37; |
|
text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.8); |
|
} |
|
|
|
.shop-inventory { |
|
max-width: 1200px; |
|
width: 100%; |
|
margin-bottom: 20px; |
|
} |
|
|
|
.shop-section { |
|
margin-bottom: 20px; |
|
background: rgba(0, 0, 0, 0.7); |
|
border: 2px solid #3a3a4a; |
|
border-radius: 16px; |
|
padding: 30px; |
|
box-shadow: 0 6px 25px rgba(0, 0, 0, 0.4); |
|
} |
|
|
|
.shop-section-header { |
|
text-align: center; |
|
margin-bottom: 30px; |
|
} |
|
|
|
.shop-section-header h2 { |
|
font-size: 28px; |
|
color: #d4af37; |
|
margin: 0 0 8px 0; |
|
text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.8); |
|
} |
|
|
|
.shop-section-header p { |
|
font-size: 16px; |
|
color: #b8b8b8; |
|
margin: 0; |
|
} |
|
|
|
.shop-cards { |
|
display: flex; |
|
justify-content: center; |
|
gap: 30px; |
|
flex-wrap: wrap; |
|
} |
|
|
|
.shop-card-container { |
|
position: relative; |
|
} |
|
|
|
.shop-card { |
|
cursor: pointer; |
|
transition: all 0.3s ease; |
|
transform: scale(0.9); |
|
position: relative; |
|
} |
|
|
|
.shop-card:hover { |
|
transform: scale(0.95) translateY(-5px); |
|
} |
|
|
|
.shop-card-price { |
|
position: absolute; |
|
bottom: -15px; |
|
left: 50%; |
|
transform: translateX(-50%); |
|
background: linear-gradient(135deg, #d4af37 0%, #f4d03f 100%); |
|
color: #1a1a1a; |
|
border: 2px solid #d4af37; |
|
border-radius: 12px; |
|
padding: 8px 12px; |
|
display: flex; |
|
align-items: center; |
|
gap: 6px; |
|
font-weight: bold; |
|
font-size: 14px; |
|
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.5); |
|
} |
|
|
|
.card-owned-indicator { |
|
position: absolute; |
|
top: -12px; |
|
right: -12px; |
|
background: linear-gradient(135deg, #4a9eff 0%, #007bff 100%); |
|
color: white; |
|
border: 2px solid #007bff; |
|
border-radius: 8px; |
|
padding: 4px 8px; |
|
font-size: 12px; |
|
font-weight: bold; |
|
box-shadow: 0 2px 8px rgba(0, 123, 255, 0.4); |
|
z-index: 10; |
|
} |
|
|
|
.shop-relics { |
|
display: flex; |
|
justify-content: center; |
|
} |
|
|
|
.shop-relic { |
|
background: linear-gradient(135deg, #2a2a3a 0%, #1a1a2a 100%); |
|
border: 2px solid #3a3a4a; |
|
border-radius: 16px; |
|
padding: 25px; |
|
cursor: pointer; |
|
transition: all 0.3s ease; |
|
display: flex; |
|
align-items: center; |
|
gap: 20px; |
|
max-width: 400px; |
|
position: relative; |
|
box-shadow: 0 6px 20px rgba(0, 0, 0, 0.4); |
|
} |
|
|
|
.shop-relic:hover { |
|
border-color: #4a4a5a; |
|
transform: translateY(-3px); |
|
box-shadow: 0 8px 25px rgba(0, 0, 0, 0.6); |
|
} |
|
|
|
.shop-relic.affordable { |
|
border-color: #d4af37; |
|
} |
|
|
|
.shop-relic.affordable:hover { |
|
border-color: #f4d03f; |
|
box-shadow: 0 8px 25px rgba(212, 175, 55, 0.3); |
|
} |
|
|
|
.relic-icon { |
|
font-size: 48px; |
|
flex-shrink: 0; |
|
} |
|
|
|
.relic-skill-art { |
|
width: 48px; |
|
height: 48px; |
|
object-fit: contain; |
|
border-radius: 8px; |
|
} |
|
|
|
.relic-inline .relic-skill-art { |
|
width: 24px; |
|
height: 24px; |
|
} |
|
|
|
.relic-info h3 { |
|
color: #d4af37; |
|
font-size: 20px; |
|
margin: 0 0 8px 0; |
|
} |
|
|
|
.relic-info p { |
|
color: #e8e8e8; |
|
font-size: 14px; |
|
margin: 0; |
|
line-height: 1.4; |
|
} |
|
|
|
.shop-relic-price { |
|
position: absolute; |
|
top: -15px; |
|
right: 15px; |
|
background: linear-gradient(135deg, #d4af37 0%, #f4d03f 100%); |
|
color: #1a1a1a; |
|
border: 2px solid #d4af37; |
|
border-radius: 12px; |
|
padding: 8px 12px; |
|
display: flex; |
|
align-items: center; |
|
gap: 6px; |
|
font-weight: bold; |
|
font-size: 14px; |
|
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.5); |
|
} |
|
|
|
.relic-disabled-overlay { |
|
position: absolute; |
|
top: 0; |
|
left: 0; |
|
right: 0; |
|
bottom: 0; |
|
background: rgba(0, 0, 0, 0.7); |
|
display: flex; |
|
align-items: center; |
|
justify-content: center; |
|
border-radius: 16px; |
|
pointer-events: none; |
|
/* Allow clicks to pass through to elements behind */ |
|
color: #ff6b6b; |
|
font-weight: bold; |
|
font-size: 14px; |
|
} |
|
|
|
.shop-actions { |
|
text-align: center; |
|
} |
|
|
|
.shop-leave-btn { |
|
background: linear-gradient(135deg, #3a3a4a 0%, #2a2a3a 100%); |
|
border: 2px solid #4a4a5a; |
|
border-radius: 12px; |
|
color: #e8e8e8; |
|
padding: 15px 25px; |
|
font-size: 16px; |
|
cursor: pointer; |
|
transition: all 0.3s ease; |
|
display: flex; |
|
align-items: center; |
|
gap: 12px; |
|
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.4); |
|
} |
|
|
|
.shop-leave-btn:hover { |
|
border-color: #5a5a6a; |
|
transform: translateY(-2px); |
|
box-shadow: 0 6px 16px rgba(0, 0, 0, 0.6); |
|
} |
|
|
|
.leave-icon { |
|
width: 20px; |
|
height: 20px; |
|
object-fit: contain; |
|
} |
|
|
|
|
|
.event-screen { |
|
min-height: 100vh; |
|
background: url('assets/backgrounds/terrace.png'); |
|
background-size: cover; |
|
background-position: center; |
|
background-attachment: fixed; |
|
display: flex; |
|
flex-direction: column; |
|
align-items: center; |
|
padding: 40px 20px; |
|
color: #e8e8e8; |
|
} |
|
|
|
.event-header { |
|
text-align: center; |
|
margin-bottom: 40px; |
|
background: rgba(0, 0, 0, 0.8); |
|
border: 2px solid #d4af37; |
|
border-radius: 16px; |
|
padding: 30px; |
|
box-shadow: 0 8px 32px rgba(0, 0, 0, 0.6); |
|
max-width: 800px; |
|
width: 100%; |
|
} |
|
|
|
.event-header h1 { |
|
font-size: 36px; |
|
color: #d4af37; |
|
margin: 0 0 12px 0; |
|
text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.8); |
|
} |
|
|
|
.event-header p { |
|
font-size: 16px; |
|
margin: 0 0 20px 0; |
|
opacity: 0.9; |
|
} |
|
|
|
.player-status-inline { |
|
display: flex; |
|
justify-content: center; |
|
gap: 30px; |
|
background: rgba(42, 42, 58, 0.6); |
|
border: 1px solid #4a4a5a; |
|
border-radius: 12px; |
|
padding: 15px; |
|
} |
|
|
|
.player-status-inline .status-item { |
|
display: flex; |
|
align-items: center; |
|
gap: 8px; |
|
font-size: 16px; |
|
font-weight: bold; |
|
} |
|
|
|
.event-content { |
|
max-width: 1000px; |
|
width: 100%; |
|
display: flex; |
|
flex-direction: column; |
|
gap: 40px; |
|
} |
|
|
|
.event-story { |
|
background: rgba(0, 0, 0, 0.7); |
|
border: 2px solid #3a3a4a; |
|
border-radius: 16px; |
|
padding: 30px; |
|
display: flex; |
|
align-items: center; |
|
gap: 30px; |
|
box-shadow: 0 6px 25px rgba(0, 0, 0, 0.4); |
|
} |
|
|
|
.event-artwork { |
|
flex-shrink: 0; |
|
} |
|
|
|
.event-artwork-img { |
|
width: 120px; |
|
height: 120px; |
|
object-fit: contain; |
|
border: 2px solid #d4af37; |
|
border-radius: 12px; |
|
background: rgba(42, 42, 58, 0.3); |
|
padding: 10px; |
|
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.5); |
|
} |
|
|
|
.event-description { |
|
flex: 1; |
|
} |
|
|
|
.event-description p { |
|
font-size: 18px; |
|
line-height: 1.6; |
|
margin: 0; |
|
color: #e8e8e8; |
|
} |
|
|
|
.event-choices { |
|
background: rgba(0, 0, 0, 0.7); |
|
border: 2px solid #3a3a4a; |
|
border-radius: 16px; |
|
padding: 30px; |
|
box-shadow: 0 6px 25px rgba(0, 0, 0, 0.4); |
|
} |
|
|
|
.event-choices h3 { |
|
font-size: 24px; |
|
color: #d4af37; |
|
margin: 0 0 25px 0; |
|
text-align: center; |
|
text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.8); |
|
} |
|
|
|
.choices-grid { |
|
display: flex; |
|
flex-direction: column; |
|
gap: 20px; |
|
} |
|
|
|
.event-choice { |
|
background: linear-gradient(135deg, #2a2a3a 0%, #1a1a2a 100%); |
|
border: 2px solid #3a3a4a; |
|
border-radius: 12px; |
|
padding: 20px; |
|
cursor: pointer; |
|
transition: all 0.3s ease; |
|
display: flex; |
|
align-items: center; |
|
gap: 20px; |
|
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.4); |
|
} |
|
|
|
.event-choice:hover { |
|
border-color: #4a4a5a; |
|
transform: translateY(-2px); |
|
box-shadow: 0 6px 16px rgba(0, 0, 0, 0.6); |
|
} |
|
|
|
.event-choice.none-risk { |
|
border-color: #4a9eff; |
|
} |
|
|
|
.event-choice.none-risk:hover { |
|
border-color: #6bb6ff; |
|
box-shadow: 0 6px 16px rgba(74, 158, 255, 0.3); |
|
} |
|
|
|
.event-choice.low-risk { |
|
border-color: #28a745; |
|
} |
|
|
|
.event-choice.low-risk:hover { |
|
border-color: #34ce57; |
|
box-shadow: 0 6px 16px rgba(40, 167, 69, 0.3); |
|
} |
|
|
|
.event-choice.medium-risk { |
|
border-color: #ffc107; |
|
} |
|
|
|
.event-choice.medium-risk:hover { |
|
border-color: #ffcd39; |
|
box-shadow: 0 6px 16px rgba(255, 193, 7, 0.3); |
|
} |
|
|
|
.event-choice.high-risk { |
|
border-color: #dc3545; |
|
} |
|
|
|
.event-choice.high-risk:hover { |
|
border-color: #e4606d; |
|
box-shadow: 0 6px 16px rgba(220, 53, 69, 0.3); |
|
} |
|
|
|
.choice-icon { |
|
flex-shrink: 0; |
|
} |
|
|
|
.choice-icon-img { |
|
width: 60px; |
|
height: 60px; |
|
object-fit: contain; |
|
border: 1px solid #4a4a5a; |
|
border-radius: 8px; |
|
background: rgba(42, 42, 58, 0.3); |
|
padding: 8px; |
|
} |
|
|
|
.choice-content { |
|
flex: 1; |
|
} |
|
|
|
.choice-text { |
|
font-size: 16px; |
|
line-height: 1.4; |
|
margin: 0 0 10px 0; |
|
color: #e8e8e8; |
|
} |
|
|
|
.choice-quote { |
|
font-style: italic; |
|
color: #a8a8a8; |
|
font-size: 14px; |
|
margin: 6px 0 8px 0; |
|
opacity: 0.9; |
|
line-height: 1.3; |
|
text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.6); |
|
} |
|
|
|
.choice-risk-badge { |
|
display: inline-block; |
|
padding: 4px 8px; |
|
border-radius: 6px; |
|
font-size: 12px; |
|
font-weight: bold; |
|
text-transform: uppercase; |
|
letter-spacing: 0.5px; |
|
} |
|
|
|
.choice-risk-badge.none { |
|
background: rgba(74, 158, 255, 0.2); |
|
color: #4a9eff; |
|
border: 1px solid #4a9eff; |
|
} |
|
|
|
.choice-risk-badge.low { |
|
background: rgba(40, 167, 69, 0.2); |
|
color: #28a745; |
|
border: 1px solid #28a745; |
|
} |
|
|
|
.choice-risk-badge.medium { |
|
background: rgba(255, 193, 7, 0.2); |
|
color: #ffc107; |
|
border: 1px solid #ffc107; |
|
} |
|
|
|
.choice-risk-badge.high { |
|
background: rgba(220, 53, 69, 0.2); |
|
color: #dc3545; |
|
border: 1px solid #dc3545; |
|
} |
|
|
|
@media (max-width: 768px) { |
|
.event-story { |
|
flex-direction: column; |
|
text-align: center; |
|
} |
|
|
|
.player-status-inline { |
|
flex-direction: column; |
|
gap: 15px; |
|
} |
|
} |
|
|
|
|
|
.defeat-screen { |
|
min-height: 100vh; |
|
background: url('assets/backgrounds/terrace.png'); |
|
background-size: cover; |
|
background-position: center; |
|
background-attachment: fixed; |
|
display: flex; |
|
flex-direction: column; |
|
align-items: center; |
|
padding: 40px 20px; |
|
color: #e8e8e8; |
|
position: relative; |
|
} |
|
|
|
.defeat-screen::before { |
|
content: ''; |
|
position: absolute; |
|
top: 0; |
|
left: 0; |
|
right: 0; |
|
bottom: 0; |
|
background: radial-gradient(circle at 50% 50%, rgba(139, 69, 19, 0.2) 0%, rgba(0, 0, 0, 0.4) 70%); |
|
pointer-events: none; |
|
} |
|
|
|
.defeat-header { |
|
text-align: center; |
|
margin-bottom: 40px; |
|
z-index: 1; |
|
} |
|
|
|
.defeat-skull { |
|
margin-bottom: 20px; |
|
filter: drop-shadow(0 0 20px rgba(139, 69, 19, 0.6)); |
|
} |
|
|
|
.skull-img { |
|
width: 120px; |
|
height: 120px; |
|
object-fit: contain; |
|
animation: defeatPulse 2s ease-in-out infinite; |
|
} |
|
|
|
@keyframes defeatPulse { |
|
|
|
0%, |
|
100% { |
|
transform: scale(1); |
|
filter: drop-shadow(0 0 20px rgba(139, 69, 19, 0.6)); |
|
} |
|
|
|
50% { |
|
transform: scale(1.05); |
|
filter: drop-shadow(0 0 30px rgba(139, 69, 19, 0.8)); |
|
} |
|
} |
|
|
|
.defeat-header h1 { |
|
font-family: 'Kreon', serif; |
|
font-size: 3.5rem; |
|
font-weight: 700; |
|
color: #ff6b6b; |
|
margin: 0 0 10px 0; |
|
text-shadow: 3px 3px 6px rgba(0, 0, 0, 0.7); |
|
letter-spacing: 2px; |
|
} |
|
|
|
.defeat-header h2 { |
|
font-family: 'Kreon', serif; |
|
font-size: 1.8rem; |
|
font-weight: 400; |
|
color: #ffaa44; |
|
margin: 0 0 15px 0; |
|
text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.6); |
|
} |
|
|
|
.defeat-header p { |
|
font-size: 1.1rem; |
|
color: #cccccc; |
|
margin: 0; |
|
text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5); |
|
} |
|
|
|
.defeat-content { |
|
display: flex; |
|
flex-direction: column; |
|
align-items: center; |
|
gap: 40px; |
|
max-width: 1200px; |
|
width: 100%; |
|
z-index: 1; |
|
} |
|
|
|
.defeat-artwork { |
|
display: flex; |
|
justify-content: center; |
|
align-items: center; |
|
} |
|
|
|
.defeat-scene { |
|
position: relative; |
|
display: flex; |
|
justify-content: center; |
|
align-items: center; |
|
} |
|
|
|
.defeat-glow { |
|
position: relative; |
|
padding: 20px; |
|
border-radius: 50%; |
|
background: radial-gradient(circle, rgba(139, 69, 19, 0.3) 0%, transparent 70%); |
|
} |
|
|
|
.defeat-bug { |
|
width: 150px; |
|
height: 150px; |
|
object-fit: contain; |
|
filter: drop-shadow(0 0 25px rgba(139, 69, 19, 0.7)); |
|
animation: defeatFloat 3s ease-in-out infinite; |
|
} |
|
|
|
@keyframes defeatFloat { |
|
|
|
0%, |
|
100% { |
|
transform: translateY(0px) rotate(0deg); |
|
} |
|
|
|
50% { |
|
transform: translateY(-10px) rotate(2deg); |
|
} |
|
} |
|
|
|
.defeat-stats { |
|
background: rgba(0, 0, 0, 0.7); |
|
border: 2px solid #8b4513; |
|
border-radius: 15px; |
|
padding: 30px; |
|
width: 100%; |
|
max-width: 800px; |
|
backdrop-filter: blur(10px); |
|
} |
|
|
|
.defeat-stats h3 { |
|
font-family: 'Kreon', serif; |
|
font-size: 1.8rem; |
|
color: #ff6b6b; |
|
margin: 0 0 25px 0; |
|
text-align: center; |
|
text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.6); |
|
} |
|
|
|
.defeat-relics { |
|
background: rgba(0, 0, 0, 0.7); |
|
border: 2px solid #8b4513; |
|
border-radius: 15px; |
|
padding: 30px; |
|
width: 100%; |
|
max-width: 800px; |
|
backdrop-filter: blur(10px); |
|
margin-top: 30px; |
|
} |
|
|
|
.defeat-relics h3 { |
|
font-family: 'Kreon', serif; |
|
font-size: 1.8rem; |
|
color: #ffaa44; |
|
margin: 0 0 25px 0; |
|
text-align: center; |
|
text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.6); |
|
} |
|
|
|
.defeat-message { |
|
background: rgba(0, 0, 0, 0.7); |
|
border: 2px solid #8b4513; |
|
border-radius: 15px; |
|
padding: 30px; |
|
width: 100%; |
|
max-width: 800px; |
|
backdrop-filter: blur(10px); |
|
text-align: center; |
|
margin-top: 30px; |
|
} |
|
|
|
.debug-session h3 { |
|
font-family: 'Kreon', serif; |
|
font-size: 1.8rem; |
|
color: #ffaa44; |
|
margin: 0 0 20px 0; |
|
text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.6); |
|
} |
|
|
|
.defeat-quote { |
|
font-size: 1.1rem; |
|
line-height: 1.6; |
|
color: #e8e8e8; |
|
font-style: italic; |
|
text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5); |
|
} |
|
|
|
.defeat-quote em { |
|
color: #cccccc; |
|
font-size: 0.9rem; |
|
display: block; |
|
margin-top: 15px; |
|
} |
|
|
|
.defeat-actions { |
|
display: flex; |
|
gap: 20px; |
|
justify-content: center; |
|
flex-wrap: wrap; |
|
margin-top: 30px; |
|
} |
|
|
|
.defeat-btn { |
|
display: flex; |
|
align-items: center; |
|
gap: 10px; |
|
padding: 15px 30px; |
|
font-size: 1.1rem; |
|
font-weight: 600; |
|
border: none; |
|
border-radius: 10px; |
|
cursor: pointer; |
|
transition: all 0.3s ease; |
|
text-decoration: none; |
|
font-family: 'JetBrains Mono', monospace; |
|
min-width: 160px; |
|
justify-content: center; |
|
} |
|
|
|
.defeat-btn.primary-btn { |
|
background: linear-gradient(135deg, #ff6b6b, #ff5252); |
|
color: white; |
|
box-shadow: 0 4px 15px rgba(255, 107, 107, 0.3); |
|
} |
|
|
|
.defeat-btn.primary-btn:hover { |
|
background: linear-gradient(135deg, #ff5252, #ff4444); |
|
transform: translateY(-2px); |
|
box-shadow: 0 6px 20px rgba(255, 107, 107, 0.4); |
|
} |
|
|
|
.defeat-btn.secondary-btn { |
|
background: linear-gradient(135deg, #666666, #555555); |
|
color: white; |
|
box-shadow: 0 4px 15px rgba(102, 102, 102, 0.3); |
|
} |
|
|
|
.defeat-btn.secondary-btn:hover { |
|
background: linear-gradient(135deg, #777777, #666666); |
|
transform: translateY(-2px); |
|
box-shadow: 0 6px 20px rgba(102, 102, 102, 0.4); |
|
} |
|
|
|
.defeat-btn .btn-icon { |
|
font-size: 1.2rem; |
|
} |
|
|
|
|
|
.victory-screen { |
|
min-height: 100vh; |
|
background: url('assets/backgrounds/terrace.png'); |
|
background-size: cover; |
|
background-position: center; |
|
background-attachment: fixed; |
|
display: flex; |
|
flex-direction: column; |
|
align-items: center; |
|
padding: 40px 20px; |
|
color: #e8e8e8; |
|
position: relative; |
|
overflow-y: auto; |
|
} |
|
|
|
.victory-screen::before { |
|
content: ''; |
|
position: absolute; |
|
top: 0; |
|
left: 0; |
|
right: 0; |
|
bottom: 0; |
|
background: radial-gradient(circle at 50% 50%, rgba(212, 175, 55, 0.1) 0%, transparent 70%); |
|
pointer-events: none; |
|
} |
|
|
|
.victory-header { |
|
text-align: center; |
|
margin-bottom: 40px; |
|
background: rgba(0, 0, 0, 0.9); |
|
border: 3px solid #d4af37; |
|
border-radius: 20px; |
|
padding: 40px; |
|
box-shadow: 0 10px 40px rgba(0, 0, 0, 0.8); |
|
position: relative; |
|
max-width: 800px; |
|
width: 100%; |
|
} |
|
|
|
.victory-crown { |
|
position: absolute; |
|
top: -25px; |
|
left: 50%; |
|
transform: translateX(-50%); |
|
background: radial-gradient(circle, #d4af37 0%, #f4d03f 100%); |
|
border-radius: 50%; |
|
padding: 15px; |
|
box-shadow: 0 6px 20px rgba(212, 175, 55, 0.5); |
|
} |
|
|
|
.crown-img { |
|
width: 50px; |
|
height: 50px; |
|
object-fit: contain; |
|
filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.8)); |
|
} |
|
|
|
.victory-header h1 { |
|
font-size: 42px; |
|
color: #d4af37; |
|
margin: 20px 0 15px 0; |
|
text-shadow: 3px 3px 6px rgba(0, 0, 0, 0.9); |
|
font-weight: bold; |
|
letter-spacing: 2px; |
|
} |
|
|
|
.victory-header h2 { |
|
font-size: 24px; |
|
color: #f4d03f; |
|
margin: 0 0 15px 0; |
|
text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.8); |
|
} |
|
|
|
.victory-header p { |
|
font-size: 16px; |
|
color: #e8e8e8; |
|
margin: 0; |
|
opacity: 0.9; |
|
} |
|
|
|
.victory-content { |
|
max-width: 1200px; |
|
width: 100%; |
|
display: grid; |
|
grid-template-columns: 1fr 1fr; |
|
gap: 40px; |
|
margin-bottom: 40px; |
|
} |
|
|
|
.victory-artwork { |
|
display: flex; |
|
justify-content: center; |
|
align-items: center; |
|
} |
|
|
|
.victory-scene { |
|
position: relative; |
|
display: flex; |
|
justify-content: center; |
|
align-items: center; |
|
} |
|
|
|
.victory-trophy { |
|
width: 200px; |
|
height: 200px; |
|
object-fit: contain; |
|
filter: drop-shadow(0 8px 16px rgba(0, 0, 0, 0.6)); |
|
z-index: 2; |
|
position: relative; |
|
} |
|
|
|
.victory-glow { |
|
position: absolute; |
|
top: 50%; |
|
left: 50%; |
|
transform: translate(-50%, -50%); |
|
width: 300px; |
|
height: 300px; |
|
background: radial-gradient(circle, rgba(212, 175, 55, 0.3) 0%, transparent 70%); |
|
border-radius: 50%; |
|
animation: victoryGlow 2s ease-in-out infinite alternate; |
|
} |
|
|
|
@keyframes victoryGlow { |
|
0% { |
|
opacity: 0.5; |
|
transform: translate(-50%, -50%) scale(1); |
|
} |
|
|
|
100% { |
|
opacity: 0.8; |
|
transform: translate(-50%, -50%) scale(1.1); |
|
} |
|
} |
|
|
|
.victory-stats { |
|
background: rgba(0, 0, 0, 0.8); |
|
border: 2px solid #3a3a4a; |
|
border-radius: 16px; |
|
padding: 30px; |
|
box-shadow: 0 6px 25px rgba(0, 0, 0, 0.4); |
|
} |
|
|
|
.victory-stats h3 { |
|
font-size: 24px; |
|
color: #d4af37; |
|
margin: 0 0 25px 0; |
|
text-align: center; |
|
text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.8); |
|
} |
|
|
|
.stats-grid { |
|
display: grid; |
|
grid-template-columns: 1fr 1fr; |
|
gap: 20px; |
|
} |
|
|
|
.stat-item { |
|
display: flex; |
|
align-items: center; |
|
gap: 15px; |
|
background: rgba(42, 42, 58, 0.6); |
|
border: 1px solid #4a4a5a; |
|
border-radius: 12px; |
|
padding: 15px; |
|
} |
|
|
|
.stat-icon { |
|
width: 32px; |
|
height: 32px; |
|
object-fit: contain; |
|
flex-shrink: 0; |
|
} |
|
|
|
.stat-info { |
|
display: flex; |
|
flex-direction: column; |
|
} |
|
|
|
.stat-label { |
|
font-size: 12px; |
|
color: #b8b8b8; |
|
text-transform: uppercase; |
|
letter-spacing: 0.5px; |
|
} |
|
|
|
.stat-value { |
|
font-size: 18px; |
|
color: #e8e8e8; |
|
font-weight: bold; |
|
} |
|
|
|
.victory-relics { |
|
grid-column: 1 / -1; |
|
background: rgba(0, 0, 0, 0.8); |
|
border: 2px solid #3a3a4a; |
|
border-radius: 16px; |
|
padding: 30px; |
|
box-shadow: 0 6px 25px rgba(0, 0, 0, 0.4); |
|
} |
|
|
|
.victory-relics h3 { |
|
font-size: 24px; |
|
color: #d4af37; |
|
margin: 0 0 25px 0; |
|
text-align: center; |
|
text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.8); |
|
} |
|
|
|
.relics-showcase { |
|
display: flex; |
|
justify-content: center; |
|
gap: 20px; |
|
flex-wrap: wrap; |
|
} |
|
|
|
.relic-showcase-item { |
|
background: rgba(42, 42, 58, 0.6); |
|
border: 2px solid #4a4a5a; |
|
border-radius: 12px; |
|
padding: 15px; |
|
text-align: center; |
|
cursor: pointer; |
|
transition: all 0.3s ease; |
|
min-width: 120px; |
|
} |
|
|
|
.relic-showcase-item:hover { |
|
border-color: #d4af37; |
|
box-shadow: 0 4px 12px rgba(212, 175, 55, 0.3); |
|
} |
|
|
|
.relic-showcase-icon { |
|
margin-bottom: 10px; |
|
} |
|
|
|
.relic-showcase-name { |
|
font-size: 14px; |
|
color: #e8e8e8; |
|
font-weight: bold; |
|
} |
|
|
|
.no-relics { |
|
color: #b8b8b8; |
|
font-style: italic; |
|
text-align: center; |
|
padding: 20px; |
|
} |
|
|
|
.victory-message { |
|
grid-column: 1 / -1; |
|
background: rgba(0, 0, 0, 0.8); |
|
border: 2px solid #d4af37; |
|
border-radius: 16px; |
|
padding: 30px; |
|
text-align: center; |
|
box-shadow: 0 6px 25px rgba(212, 175, 55, 0.2); |
|
} |
|
|
|
.birthday-celebration h3 { |
|
font-size: 24px; |
|
color: #d4af37; |
|
margin: 0 0 15px 0; |
|
text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.8); |
|
} |
|
|
|
.birthday-celebration p { |
|
font-size: 16px; |
|
color: #e8e8e8; |
|
margin: 0 0 15px 0; |
|
line-height: 1.5; |
|
} |
|
|
|
.victory-quote { |
|
font-style: italic; |
|
color: #f4d03f !important; |
|
font-size: 18px !important; |
|
text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.8); |
|
} |
|
|
|
.victory-actions { |
|
text-align: center; |
|
} |
|
|
|
.victory-btn { |
|
background: linear-gradient(135deg, #d4af37 0%, #f4d03f 100%); |
|
border: 3px solid #d4af37; |
|
border-radius: 12px; |
|
color: #1a1a1a; |
|
padding: 20px 40px; |
|
font-size: 18px; |
|
font-weight: bold; |
|
cursor: pointer; |
|
transition: all 0.3s ease; |
|
display: flex; |
|
align-items: center; |
|
gap: 15px; |
|
box-shadow: 0 6px 20px rgba(0, 0, 0, 0.5); |
|
} |
|
|
|
.victory-btn:hover { |
|
background: linear-gradient(135deg, #f4d03f 0%, #d4af37 100%); |
|
transform: translateY(-3px); |
|
box-shadow: 0 8px 25px rgba(0, 0, 0, 0.7); |
|
} |
|
|
|
.btn-icon { |
|
width: 24px; |
|
height: 24px; |
|
object-fit: contain; |
|
} |
|
|
|
@media (max-width: 768px) { |
|
.victory-content { |
|
grid-template-columns: 1fr; |
|
gap: 30px; |
|
} |
|
|
|
.stats-grid { |
|
grid-template-columns: 1fr; |
|
} |
|
|
|
.victory-header h1 { |
|
font-size: 32px; |
|
} |
|
|
|
.victory-trophy { |
|
width: 150px; |
|
height: 150px; |
|
} |
|
} |
|
|
|
.upgrade-header h1 { |
|
font-size: 36px; |
|
color: #d4af37; |
|
margin: 0 0 15px 0; |
|
text-shadow: |
|
2px 2px 4px rgba(0, 0, 0, 0.8), |
|
0 0 20px rgba(212, 175, 55, 0.3); |
|
font-weight: bold; |
|
} |
|
|
|
.upgrade-header p { |
|
font-size: 18px; |
|
color: #e8e8e8; |
|
margin: 0; |
|
text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.8); |
|
} |
|
|
|
.upgrade-options { |
|
display: flex; |
|
flex-direction: column; |
|
gap: 30px; |
|
max-width: 1000px; |
|
width: 100%; |
|
margin-bottom: 40px; |
|
} |
|
|
|
.upgrade-option { |
|
background: |
|
radial-gradient(ellipse at 20% 30%, rgba(255, 255, 255, 0.03) 0%, transparent 60%), |
|
linear-gradient(135deg, #2a2a3a 0%, #1a1a2a 100%); |
|
border: 2px solid #3a3a4a; |
|
border-radius: 16px; |
|
padding: 30px; |
|
cursor: pointer; |
|
transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); |
|
box-shadow: |
|
0 6px 25px rgba(0, 0, 0, 0.4), |
|
inset 0 2px 4px rgba(255, 255, 255, 0.05), |
|
inset 0 -2px 4px rgba(0, 0, 0, 0.4); |
|
} |
|
|
|
.upgrade-option:hover { |
|
border-color: #4a4a5a; |
|
background: |
|
radial-gradient(ellipse at 20% 30%, rgba(255, 255, 255, 0.06) 0%, transparent 60%), |
|
linear-gradient(135deg, #3a3a4a 0%, #2a2a3a 100%); |
|
box-shadow: |
|
0 8px 30px rgba(0, 0, 0, 0.5), |
|
inset 0 2px 4px rgba(255, 255, 255, 0.08), |
|
inset 0 -2px 4px rgba(0, 0, 0, 0.4); |
|
transform: translateY(-2px); |
|
} |
|
|
|
.upgrade-comparison { |
|
display: flex; |
|
align-items: center; |
|
justify-content: center; |
|
gap: 40px; |
|
} |
|
|
|
.upgrade-card { |
|
background: linear-gradient(135deg, #4a3f2f 0%, #3a2f1f 100%); |
|
border: 2px solid #8b7355; |
|
border-radius: 12px; |
|
padding: 20px; |
|
width: 280px; |
|
box-shadow: |
|
0 4px 16px rgba(0, 0, 0, 0.3), |
|
inset 0 1px 0 rgba(255, 255, 255, 0.1); |
|
} |
|
|
|
.upgrade-card.before { |
|
opacity: 0.8; |
|
} |
|
|
|
.upgrade-card.after { |
|
border-color: #d4af37; |
|
box-shadow: |
|
0 4px 16px rgba(0, 0, 0, 0.3), |
|
inset 0 1px 0 rgba(255, 255, 255, 0.1), |
|
0 0 20px rgba(212, 175, 55, 0.3); |
|
} |
|
|
|
.upgrade-card-header { |
|
display: flex; |
|
justify-content: space-between; |
|
align-items: center; |
|
margin-bottom: 15px; |
|
} |
|
|
|
.upgrade-card-header h4 { |
|
font-size: 18px; |
|
color: #d4af37; |
|
margin: 0; |
|
font-weight: bold; |
|
text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.8); |
|
} |
|
|
|
.upgrade-cost { |
|
background: linear-gradient(135deg, #d4af37 0%, #b8941f 100%); |
|
color: #000; |
|
border-radius: 50%; |
|
width: 32px; |
|
height: 32px; |
|
display: flex; |
|
align-items: center; |
|
justify-content: center; |
|
font-weight: bold; |
|
font-size: 14px; |
|
border: 2px solid #8b4513; |
|
box-shadow: 0 2px 6px rgba(0, 0, 0, 0.4); |
|
} |
|
|
|
.upgrade-card-art { |
|
display: flex; |
|
justify-content: center; |
|
margin: 15px 0; |
|
background: linear-gradient(135deg, #2a1f18 0%, #1a0f08 100%); |
|
border: 1px solid #4a3428; |
|
border-radius: 8px; |
|
padding: 15px; |
|
box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.5); |
|
} |
|
|
|
.upgrade-card-art img { |
|
width: 50px; |
|
height: 50px; |
|
object-fit: contain; |
|
filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.6)); |
|
} |
|
|
|
.upgrade-card-text { |
|
font-size: 12px; |
|
color: #e8e8e8; |
|
line-height: 1.4; |
|
text-align: center; |
|
text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.6); |
|
} |
|
|
|
.upgrade-arrow { |
|
display: flex; |
|
flex-direction: column; |
|
align-items: center; |
|
gap: 10px; |
|
opacity: 0.8; |
|
} |
|
|
|
.upgrade-arrow-img { |
|
width: 40px; |
|
height: 40px; |
|
object-fit: contain; |
|
filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.6)); |
|
} |
|
|
|
.upgrade-arrow span { |
|
font-size: 24px; |
|
color: #d4af37; |
|
text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.8); |
|
} |
|
|
|
.upgrade-actions { |
|
display: flex; |
|
justify-content: center; |
|
} |
|
|
|
.upgrade-skip { |
|
background: |
|
radial-gradient(ellipse at 20% 30%, rgba(255, 255, 255, 0.03) 0%, transparent 60%), |
|
linear-gradient(135deg, #2a2a3a 0%, #1a1a2a 100%); |
|
border: 2px solid #3a3a4a; |
|
border-radius: 12px; |
|
padding: 15px 30px; |
|
color: #e8e8e8; |
|
font-size: 16px; |
|
font-weight: bold; |
|
cursor: pointer; |
|
transition: all 0.3s ease; |
|
text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.8); |
|
box-shadow: |
|
0 4px 16px rgba(0, 0, 0, 0.3), |
|
inset 0 1px 0 rgba(255, 255, 255, 0.1); |
|
} |
|
|
|
.upgrade-skip:hover { |
|
border-color: #4a4a5a; |
|
background: |
|
radial-gradient(ellipse at 20% 30%, rgba(255, 255, 255, 0.06) 0%, transparent 60%), |
|
linear-gradient(135deg, #3a3a4a 0%, #2a2a3a 100%); |
|
transform: translateY(-1px); |
|
box-shadow: |
|
0 6px 20px rgba(0, 0, 0, 0.4), |
|
inset 0 1px 0 rgba(255, 255, 255, 0.15); |
|
} |
|
|
|
|
|
.reward-screen { |
|
padding: 40px 20px; |
|
text-align: center; |
|
min-height: 100vh; |
|
background: url('assets/backgrounds/terrace.png'); |
|
background-size: cover; |
|
background-position: center; |
|
background-attachment: fixed; |
|
} |
|
|
|
.reward-screen h1 { |
|
color: var(--accent); |
|
font-size: 2.5rem; |
|
margin-bottom: 40px; |
|
text-shadow: 0 2px 4px rgba(0, 0, 0, 0.5); |
|
} |
|
|
|
.reward-cards-container { |
|
display: flex; |
|
justify-content: center; |
|
gap: 30px; |
|
flex-wrap: wrap; |
|
margin-bottom: 40px; |
|
max-width: 1200px; |
|
margin-left: auto; |
|
margin-right: auto; |
|
} |
|
|
|
.reward-card-wrapper { |
|
cursor: pointer; |
|
transition: transform 0.3s ease; |
|
} |
|
|
|
.reward-card-wrapper:hover { |
|
transform: translateY(-10px) scale(1.05); |
|
} |
|
|
|
.reward-card { |
|
width: 280px; |
|
height: 380px; |
|
margin: 0; |
|
position: relative; |
|
transition: all 0.3s ease; |
|
} |
|
|
|
.reward-card:hover { |
|
box-shadow: 0 10px 30px rgba(212, 175, 55, 0.4); |
|
} |
|
|
|
.reward-card .card-glow { |
|
opacity: 0; |
|
transition: opacity 0.3s ease; |
|
} |
|
|
|
.reward-card:hover .card-glow { |
|
opacity: 1; |
|
} |
|
|
|
.card-select-hint { |
|
position: absolute; |
|
bottom: 10px; |
|
left: 50%; |
|
transform: translateX(-50%); |
|
background: rgba(0, 0, 0, 0.8); |
|
color: var(--accent); |
|
padding: 4px 8px; |
|
border-radius: 4px; |
|
font-size: 11px; |
|
font-weight: bold; |
|
opacity: 0; |
|
transition: opacity 0.3s ease; |
|
} |
|
|
|
.reward-card:hover .card-select-hint { |
|
opacity: 1; |
|
} |
|
|
|
.reward-actions { |
|
display: flex; |
|
justify-content: center; |
|
gap: 20px; |
|
} |
|
|
|
.skip-btn { |
|
padding: 12px 24px; |
|
font-size: 16px; |
|
border-radius: 8px; |
|
transition: all 0.3s ease; |
|
} |
|
|
|
.skip-btn:hover { |
|
transform: translateY(-2px); |
|
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3); |
|
} |
|
|
|
/* Birthday Countdown Styles */ |
|
.countdown-screen { |
|
position: fixed; |
|
top: 0; |
|
left: 0; |
|
width: 100vw; |
|
height: 100vh; |
|
background: #000; |
|
display: flex; |
|
align-items: center; |
|
justify-content: center; |
|
z-index: 9999; |
|
} |
|
|
|
.countdown-content { |
|
text-align: center; |
|
max-width: 900px; |
|
padding: 40px; |
|
} |
|
|
|
.countdown-timer { |
|
margin-top: 40px; |
|
} |
|
|
|
.countdown-message h2 { |
|
color: #ffd700; |
|
font-size: 2.5em; |
|
margin-bottom: 20px; |
|
text-shadow: 0 0 20px rgba(255, 215, 0, 0.5); |
|
} |
|
|
|
.countdown-message p { |
|
color: #d0d0d0; |
|
font-size: 1.3em; |
|
margin-bottom: 40px; |
|
} |
|
|
|
.countdown-display { |
|
display: flex; |
|
justify-content: center; |
|
gap: 20px; |
|
margin: 40px 0; |
|
flex-wrap: wrap; |
|
} |
|
|
|
.time-unit { |
|
background: #000; |
|
border: 2px solid #fff; |
|
border-radius: 15px; |
|
padding: 20px; |
|
min-width: 100px; |
|
} |
|
|
|
.time-number { |
|
font-size: 3em; |
|
font-weight: bold; |
|
color: #ffd700; |
|
text-shadow: 0 0 10px rgba(255, 215, 0, 0.8); |
|
} |
|
|
|
.time-label { |
|
font-size: 1.1em; |
|
color: #d0d0d0; |
|
margin-top: 10px; |
|
text-transform: uppercase; |
|
letter-spacing: 1px; |
|
} |
|
|
|
.time-separator { |
|
font-size: 3em; |
|
color: #ffd700; |
|
align-self: center; |
|
animation: blink 2s infinite; |
|
} |
|
|
|
.birthday-preview { |
|
margin-top: 50px; |
|
padding: 30px; |
|
background: rgba(58, 47, 31, 0.6); |
|
border-radius: 15px; |
|
border: 1px solid #5a4a2a; |
|
} |
|
|
|
.birthday-preview p { |
|
color: #d0d0d0; |
|
font-size: 1.2em; |
|
margin-bottom: 20px; |
|
} |
|
|
|
.preview-icons { |
|
font-size: 2em; |
|
letter-spacing: 15px; |
|
animation: float 3s ease-in-out infinite; |
|
margin-bottom: 20px; |
|
} |
|
|
|
.dev-hint { |
|
color: #888; |
|
font-size: 0.9em; |
|
} |
|
|
|
.dev-hint code { |
|
background: rgba(0, 0, 0, 0.3); |
|
padding: 2px 6px; |
|
border-radius: 4px; |
|
font-family: 'JetBrains Mono', monospace; |
|
} |
|
|
|
@keyframes blink { |
|
|
|
0%, |
|
50% { |
|
opacity: 1; |
|
} |
|
|
|
51%, |
|
100% { |
|
opacity: 0.3; |
|
} |
|
} |
|
|
|
@keyframes float { |
|
|
|
0%, |
|
100% { |
|
transform: translateY(0px); |
|
} |
|
|
|
50% { |
|
transform: translateY(-10px); |
|
} |
|
} |
|
|
|
@media (max-width: 768px) { |
|
.countdown-display { |
|
gap: 10px; |
|
} |
|
|
|
.time-unit { |
|
min-width: 80px; |
|
padding: 15px; |
|
} |
|
|
|
.time-number { |
|
font-size: 2em; |
|
} |
|
|
|
.countdown-message h2 { |
|
font-size: 1.8em; |
|
} |
|
|
|
.preview-icons { |
|
letter-spacing: 10px; |
|
} |
|
} |
|
|
|
/* ================================= |
|
MESSAGES BUTTON & MODAL STYLES |
|
================================= */ |
|
|
|
/* Messages Button */ |
|
.messages-button { |
|
position: absolute; |
|
top: 10px; |
|
right: 10px; |
|
background: linear-gradient(135deg, #8B4513 0%, #D2691E 50%, #CD853F 100%); |
|
border: 2px solid var(--accent); |
|
border-radius: 12px; |
|
color: white; |
|
font-size: 16px; |
|
font-weight: bold; |
|
padding: 12px 20px; |
|
cursor: pointer; |
|
transition: all 0.3s ease; |
|
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.3); |
|
font-family: inherit; |
|
z-index: 10; |
|
} |
|
|
|
.messages-button:hover { |
|
background: linear-gradient(135deg, #A0522D 0%, #F4A460 50%, #DEB887 100%); |
|
transform: translateY(-2px); |
|
box-shadow: 0 6px 12px rgba(0, 0, 0, 0.4); |
|
} |
|
|
|
.messages-button:active { |
|
transform: translateY(0); |
|
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.3); |
|
} |
|
|
|
/* Message Count Badge */ |
|
.message-count-badge { |
|
position: absolute; |
|
top: -8px; |
|
right: -8px; |
|
background: linear-gradient(135deg, #dc2626 0%, #ef4444 100%); |
|
color: white; |
|
font-size: 12px; |
|
font-weight: bold; |
|
min-width: 25px; |
|
height: 25px; |
|
border-radius: 50%; |
|
display: flex; |
|
align-items: center; |
|
justify-content: center; |
|
border: 2px solid white; |
|
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.3); |
|
animation: badgePulse 2s ease-in-out infinite; |
|
} |
|
|
|
@keyframes badgePulse { |
|
|
|
0%, |
|
100% { |
|
transform: scale(1); |
|
} |
|
|
|
50% { |
|
transform: scale(1.3); |
|
} |
|
} |
|
|
|
.messages-button:hover .message-count-badge { |
|
animation: none; |
|
transform: scale(1.05); |
|
} |
|
|
|
/* Messages Modal */ |
|
.messages-modal-overlay { |
|
position: fixed; |
|
top: 0; |
|
left: 0; |
|
width: 100%; |
|
height: 100%; |
|
background: rgba(0, 0, 0, 0.8); |
|
display: flex; |
|
justify-content: center; |
|
align-items: center; |
|
z-index: 1000; |
|
backdrop-filter: blur(5px); |
|
animation: fadeIn 0.3s ease-out; |
|
} |
|
|
|
@keyframes fadeIn { |
|
from { |
|
opacity: 0; |
|
} |
|
|
|
to { |
|
opacity: 1; |
|
} |
|
} |
|
|
|
.messages-modal { |
|
background: var(--panel); |
|
border: 3px solid var(--accent); |
|
border-radius: 6px; |
|
max-width: 700px; |
|
width: 90%; |
|
max-height: 80vh; |
|
overflow: hidden; |
|
box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5); |
|
animation: modalSlideIn 0.3s ease-out; |
|
} |
|
|
|
@keyframes modalSlideIn { |
|
from { |
|
opacity: 0; |
|
transform: scale(0.9) translateY(-20px); |
|
} |
|
|
|
to { |
|
opacity: 1; |
|
transform: scale(1) translateY(0); |
|
} |
|
} |
|
|
|
.messages-modal-header { |
|
background: linear-gradient(135deg, var(--accent) 0%, #B8860B 100%); |
|
color: var(--bg); |
|
padding: 20px; |
|
display: flex; |
|
justify-content: space-between; |
|
align-items: center; |
|
} |
|
|
|
.messages-modal-header h2 { |
|
margin: 0; |
|
font-size: 1.5em; |
|
font-weight: bold; |
|
} |
|
|
|
.messages-close-btn { |
|
background: none; |
|
border: none; |
|
color: var(--bg); |
|
font-size: 24px; |
|
font-weight: bold; |
|
cursor: pointer; |
|
width: 32px; |
|
height: 32px; |
|
display: flex; |
|
align-items: center; |
|
justify-content: center; |
|
border-radius: 50%; |
|
transition: background-color 0.2s ease; |
|
} |
|
|
|
.messages-close-btn:hover { |
|
background: rgba(0, 0, 0, 0.2); |
|
} |
|
|
|
.messages-modal-content { |
|
padding: 20px; |
|
max-height: 60vh; |
|
overflow-y: auto; |
|
} |
|
|
|
/* Individual Message Items */ |
|
.message-item { |
|
background: var(--bg2); |
|
border: 2px solid var(--border); |
|
border-radius: 12px; |
|
padding: 20px; |
|
margin-bottom: 20px; |
|
transition: all 0.3s ease; |
|
} |
|
|
|
.message-item:hover { |
|
border-color: var(--accent); |
|
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.3); |
|
} |
|
|
|
.message-item:last-child { |
|
margin-bottom: 0; |
|
} |
|
|
|
.message-from { |
|
color: var(--accent); |
|
font-weight: bold; |
|
font-size: 1.1em; |
|
margin-bottom: 12px; |
|
padding-bottom: 8px; |
|
border-bottom: 1px solid var(--border); |
|
} |
|
|
|
.message-text { |
|
color: var(--text); |
|
line-height: 1.6; |
|
font-size: 1.05em; |
|
white-space: pre-wrap; |
|
/* Preserve line breaks */ |
|
} |
|
|
|
/* No Messages Placeholder */ |
|
.no-messages-placeholder { |
|
text-align: center; |
|
padding: 40px 20px; |
|
color: var(--text); |
|
} |
|
|
|
.no-messages-placeholder p { |
|
font-size: 1.1em; |
|
margin-bottom: 15px; |
|
opacity: 0.8; |
|
} |
|
|
|
.no-messages-placeholder code { |
|
background: var(--bg); |
|
padding: 4px 8px; |
|
border-radius: 4px; |
|
font-family: 'JetBrains Mono', monospace; |
|
color: var(--accent); |
|
} |
|
|
|
/* Scrollbar Styling for Modal Content */ |
|
.messages-modal-content::-webkit-scrollbar { |
|
width: 8px; |
|
} |
|
|
|
.messages-modal-content::-webkit-scrollbar-track { |
|
background: var(--bg); |
|
border-radius: 4px; |
|
} |
|
|
|
.messages-modal-content::-webkit-scrollbar-thumb { |
|
background: var(--border); |
|
border-radius: 4px; |
|
} |
|
|
|
.messages-modal-content::-webkit-scrollbar-thumb:hover { |
|
background: var(--accent); |
|
} |
|
|
|
/* Responsive Design for Messages Modal */ |
|
@media (max-width: 768px) { |
|
.messages-button { |
|
top: 10px; |
|
right: 10px; |
|
padding: 10px 16px; |
|
font-size: 14px; |
|
} |
|
|
|
.message-count-badge { |
|
top: -6px; |
|
right: -6px; |
|
min-width: 18px; |
|
height: 18px; |
|
font-size: 11px; |
|
} |
|
|
|
.messages-modal { |
|
width: 95%; |
|
margin: 20px; |
|
max-height: 85vh; |
|
} |
|
|
|
.messages-modal-header { |
|
padding: 15px; |
|
} |
|
|
|
.messages-modal-header h2 { |
|
font-size: 1.3em; |
|
} |
|
|
|
.messages-modal-content { |
|
padding: 15px; |
|
max-height: 65vh; |
|
} |
|
|
|
.message-item { |
|
padding: 15px; |
|
} |
|
} |
|
|
|
/* Code Review Modal Styles */ |
|
.code-review-modal-overlay { |
|
position: fixed; |
|
top: 0; |
|
left: 0; |
|
width: 100%; |
|
height: 100%; |
|
background: rgba(0, 0, 0, 0.8); |
|
display: flex; |
|
justify-content: center; |
|
align-items: center; |
|
z-index: 1000; |
|
backdrop-filter: blur(5px); |
|
} |
|
|
|
.code-review-modal { |
|
background: linear-gradient(145deg, #2a2a2a, #1a1a1a); |
|
border: 2px solid #4a4a4a; |
|
border-radius: 15px; |
|
padding: 30px; |
|
max-width: 900px; |
|
width: 90%; |
|
max-height: 80vh; |
|
overflow-y: auto; |
|
box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5); |
|
} |
|
|
|
.code-review-header { |
|
text-align: center; |
|
margin-bottom: 30px; |
|
} |
|
|
|
.code-review-header h2 { |
|
color: #fff; |
|
font-size: 1.8em; |
|
margin: 0 0 10px 0; |
|
text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5); |
|
} |
|
|
|
.code-review-header p { |
|
color: #ccc; |
|
font-size: 1.1em; |
|
margin: 0; |
|
} |
|
|
|
.code-review-cards-container { |
|
display: flex; |
|
gap: 20px; |
|
justify-content: center; |
|
flex-wrap: wrap; |
|
margin-bottom: 20px; |
|
} |
|
|
|
.code-review-card { |
|
display: flex; |
|
flex-direction: column; |
|
align-items: center; |
|
cursor: pointer; |
|
transition: transform 0.2s ease, box-shadow 0.2s ease; |
|
padding: 10px; |
|
border-radius: 10px; |
|
background: rgba(255, 255, 255, 0.05); |
|
border: 2px solid transparent; |
|
} |
|
|
|
.code-review-card:hover { |
|
transform: translateY(-5px) scale(1.02); |
|
box-shadow: 0 8px 25px rgba(0, 150, 255, 0.3); |
|
border-color: #4a9eff; |
|
background: rgba(74, 158, 255, 0.1); |
|
} |
|
|
|
.code-review-card .battle-card { |
|
transform: scale(0.9); |
|
margin-bottom: 10px; |
|
} |
|
|
|
.code-review-card-label { |
|
color: #ccc; |
|
font-size: 0.9em; |
|
text-align: center; |
|
padding: 5px 10px; |
|
background: rgba(0, 0, 0, 0.3); |
|
border-radius: 15px; |
|
border: 1px solid #666; |
|
transition: all 0.2s ease; |
|
} |
|
|
|
.code-review-card:hover .code-review-card-label { |
|
background: rgba(74, 158, 255, 0.2); |
|
border-color: #4a9eff; |
|
color: #fff; |
|
} |
|
|
|
.code-review-footer { |
|
text-align: center; |
|
margin-top: 20px; |
|
padding-top: 20px; |
|
border-top: 1px solid #444; |
|
} |
|
|
|
.code-review-footer p { |
|
color: #888; |
|
font-size: 0.9em; |
|
margin: 0; |
|
} |
|
|
|
/* Responsive adjustments for code review modal */ |
|
@media (max-width: 768px) { |
|
.code-review-modal { |
|
padding: 20px; |
|
width: 95%; |
|
max-height: 90vh; |
|
} |
|
|
|
.code-review-cards-container { |
|
flex-direction: column; |
|
align-items: center; |
|
} |
|
|
|
.code-review-card .battle-card { |
|
transform: scale(0.8); |
|
} |
|
|
|
.code-review-header h2 { |
|
font-size: 1.5em; |
|
} |
|
} |
|
|
|
.welcome-message { |
|
width: 500px; |
|
margin: 0 auto 50px !important; |
|
}
|
|
|