Files
mtg_commander_life_tracker/static/css/pages/tcg/base.css

258 lines
5.9 KiB
CSS

/* TCG Base Styles - MTG Commander Theme */
:root {
--tcg-bg-primary: #0a0a0f;
--tcg-bg-secondary: #1a1520;
--tcg-bg-card: #251a2e;
--tcg-accent-gold: #d4af37;
--tcg-accent-purple: #8b5cf6;
--tcg-accent-red: #dc2626;
--tcg-text-primary: #e7e5e4;
--tcg-text-secondary: #a8a29e;
--tcg-border-color: #3f3745;
}
body.tcg-theme {
font-family: 'Crimson Text', serif;
background: var(--tcg-bg-primary);
color: var(--tcg-text-primary);
min-height: 100vh;
background-image:
radial-gradient(circle at 20% 50%, rgba(139, 92, 246, 0.08) 0%, transparent 50%),
radial-gradient(circle at 80% 50%, rgba(212, 175, 55, 0.06) 0%, transparent 50%),
url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.02'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
}
/* Top Nav TCG Style */
#buttonHamburger {
display: none;
}
.topnav.tcg {
background: var(--tcg-bg-secondary);
border-bottom: 2px solid var(--tcg-border-color);
padding: 1vh 1vw;
display: flex;
align-items: center;
}
.topnav.tcg .company-name.tcg-title {
font-family: 'Cinzel', serif;
font-size: 1.8rem;
font-weight: 700;
background: linear-gradient(135deg, var(--tcg-accent-gold), var(--tcg-accent-purple));
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
letter-spacing: 0.05em;
text-transform: uppercase;
margin: 0;
}
.nav-links.tcg {
display: flex;
}
.nav-links.tcg .nav-link {
font-family: 'Cinzel', serif;
font-size: 1rem;
color: var(--tcg-text-secondary);
text-decoration: none;
padding: 0.5rem 1rem;
border-radius: 6px;
transition: all 0.3s ease;
text-transform: uppercase;
letter-spacing: 0.05em;
}
.nav-links.tcg .nav-link:hover {
color: var(--tcg-accent-gold);
background: rgba(212, 175, 55, 0.1);
}
.nav-links.tcg .nav-link.active {
color: var(--tcg-accent-gold);
background: rgba(212, 175, 55, 0.15);
border: 1px solid var(--tcg-accent-gold);
}
/* TCG Body */
.tcg-body {
max-width: 1400px;
margin: 0 auto;
padding: 2rem;
}
/* TCG Footer */
.footer.tcg {
background: var(--tcg-bg-secondary);
border-top: 2px solid var(--tcg-border-color);
}
.footer.tcg h3 {
font-family: 'Cinzel', serif;
color: var(--tcg-accent-gold);
/* margin-bottom: 1vh; */
margin-top: 0;
}
.footer.tcg a {
color: var(--tcg-text-secondary);
text-decoration: none;
transition: color 0.3s ease;
}
.footer.tcg a:hover {
color: var(--tcg-accent-purple);
}
.footer.tcg .footer-bottom {
text-align: center;
margin-top: 2rem;
padding-top: 1rem;
border-top: 1px solid var(--tcg-border-color);
}
/* TCG Buttons */
.btn-tcg {
background: linear-gradient(135deg, var(--tcg-accent-purple), var(--tcg-accent-gold));
border: none;
color: var(--tcg-bg-primary);
padding: 0.875rem 2rem;
border-radius: 8px;
font-family: 'Cinzel', serif;
font-size: 1.1rem;
font-weight: 600;
cursor: pointer;
letter-spacing: 0.05em;
text-transform: uppercase;
transition: all 0.3s ease;
box-shadow: 0 4px 16px rgba(139, 92, 246, 0.3);
text-decoration: none;
display: inline-block;
}
.btn-tcg:hover {
transform: translateY(-2px);
box-shadow: 0 6px 24px rgba(139, 92, 246, 0.5);
}
.btn-tcg:active {
transform: translateY(0);
}
.btn-tcg-secondary {
background: var(--tcg-bg-card);
color: var(--tcg-text-primary);
border: 2px solid var(--tcg-border-color);
box-shadow: none;
}
.btn-tcg-secondary:hover {
border-color: var(--tcg-accent-purple);
box-shadow: 0 4px 16px rgba(139, 92, 246, 0.2);
}
/* TCG Cards */
.tcg-card {
background: var(--tcg-bg-secondary);
border: 2px solid var(--tcg-border-color);
border-radius: 16px;
padding: 2rem;
margin-bottom: 2rem;
box-shadow: 0 8px 32px rgba(0, 0, 0, 0.5);
}
.tcg-card::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
height: 4px;
background: linear-gradient(90deg, var(--tcg-accent-purple), var(--tcg-accent-gold));
border-radius: 16px 16px 0 0;
}
/* TCG Section Title */
.tcg-section-title {
font-family: 'Cinzel', serif;
font-size: 1.5rem;
color: var(--tcg-accent-gold);
letter-spacing: 0.05em;
text-transform: uppercase;
margin: 1.5rem auto 0;
text-align: center;
}
/* TCG Form Elements */
.tcg-input {
background: var(--tcg-bg-card);
border: 2px solid var(--tcg-border-color);
color: var(--tcg-text-primary);
padding: 0.75rem 1rem;
border-radius: 8px;
font-size: 1rem;
font-family: 'Crimson Text', serif;
transition: all 0.3s ease;
}
.tcg-input:focus {
outline: none;
border-color: var(--tcg-accent-purple);
box-shadow: 0 0 0 3px rgba(139, 92, 246, 0.2);
}
.tcg-input::placeholder {
color: var(--tcg-text-secondary);
opacity: 0.6;
}
.tcg-label {
font-family: 'Cinzel', serif;
font-size: 1rem;
color: var(--tcg-accent-gold);
letter-spacing: 0.05em;
display: block;
margin-bottom: 0.5rem;
}
/* Animations */
@keyframes tcg-fadeIn {
from { opacity: 0; }
to { opacity: 1; }
}
@keyframes tcg-scaleIn {
from {
opacity: 0;
transform: scale(0.9);
}
to {
opacity: 1;
transform: scale(1);
}
}
@keyframes tcg-fadeInDown {
from {
opacity: 0;
transform: translateY(-30px);
}
to {
opacity: 1;
transform: translateY(0);
}
}
@media screen and (max-width: 1260px) {
.nav-links,
.nav-links.tcg {
display: none;
}
#buttonHamburger {
display: block;
}
.topnav.tcg {
padding-right: 30vw;
}
}