/* =====================================
   MetaSymbiote Portal v2.0
   Author: Andarer
===================================== */

:root{

--bg:#0b0f1a;
--bg-secondary:#101827;

--card:#141d31;
--card-hover:#1c2b47;

--accent:#66cfff;
--accent-dark:#244d9c;

--text:#ffffff;
--text-soft:rgba(255,255,255,.75);

--border:rgba(255,255,255,.08);

--shadow:
0 10px 30px rgba(0,0,0,.35);

}

/* Reset */

*{
margin:0;
padding:0;
box-sizing:border-box;
}

html{
scroll-behavior:smooth;
}

body{

background:var(--bg);

color:var(--text);

font-family:
"Segoe UI",
system-ui,
sans-serif;

line-height:1.6;

min-height:100vh;

}

/* Layout */

.container{

max-width:1400px;

margin:auto;

padding:20px;

}

/* Header */

.hero{

text-align:center;

padding:60px 20px;

}

.hero h1{

font-size:3rem;

margin-bottom:10px;

}

.hero p{

color:var(--text-soft);

}

/* Category Sections */

.category-section{

margin-bottom:60px;

}

.category-title{

display:flex;

align-items:center;

gap:10px;

font-size:1.6rem;

margin-bottom:25px;

padding-bottom:10px;

border-bottom:
2px solid var(--border);

}

/* Grid */

.grid{

display:grid;

grid-template-columns:
repeat(
auto-fit,
minmax(300px,1fr)
);

gap:20px;

}

/* Cards */

.card{

background:var(--card);

border:
1px solid transparent;

border-radius:18px;

padding:20px;

cursor:pointer;

transition:.3s;

position:relative;

overflow:hidden;

}

.card:hover{

background:var(--card-hover);

transform:
translateY(-4px);

box-shadow:var(--shadow);

border-color:
rgba(102,207,255,.15);

}

.card h3{

display:flex;

align-items:center;

gap:10px;

margin-bottom:12px;

color:var(--accent);

}

.card p{

color:var(--text-soft);

}

/* Category Badge */

.badge{

display:inline-block;

padding:5px 12px;

margin:10px 0;

border-radius:999px;

font-size:.8rem;

font-weight:600;

color:white;

}

/* Expand Arrow */

.card::after{

content:"▼";

position:absolute;

right:20px;

top:20px;

opacity:.5;

transition:.3s;

}

.card.expanded::after{

transform:rotate(180deg);

}

/* Details */

.card-details{

max-height:0;

opacity:0;

overflow:hidden;

transition:
max-height .4s ease,
opacity .4s ease,
margin-top .4s ease;

}

.card.expanded .card-details{

max-height:500px;

opacity:1;

margin-top:15px;

}

.card-details p{

margin-bottom:15px;

}

/* Buttons */

.buttons{

display:flex;

flex-wrap:wrap;

gap:10px;

}

.buttons a{

text-decoration:none;

padding:10px 18px;

border-radius:10px;

background:var(--accent-dark);

color:white;

transition:.3s;

}

.buttons a:hover{

background:var(--accent);

color:#000;

}

/* Footer */

footer{

margin-top:80px;

padding:40px 20px;

text-align:center;

border-top:
1px solid var(--border);

color:var(--text-soft);

}

/* Mobile */

@media(max-width:768px){

.hero{

padding:40px 15px;

}

.hero h1{

font-size:2rem;

}

.category-title{

font-size:1.3rem;

}

.grid{

grid-template-columns:1fr;

}

.card{

padding:18px;

}

.buttons a{

width:100%;

text-align:center;

}

}