body {
background: linear-gradient(to bottom, #2a1a3d, #000000);
color: #ffffff;
font-family: Arial, sans-serif;
margin: 0;
padding: 0;
transition: all 0.5s ease;

}
.container {
max-width: 1200px;
margin: 0 auto;
 padding: 20px;
}

.nav {
background: #3a2a4d;
padding: 10px 0;
text-align: center;
position: sticky;
top: 0;
z-index: 1000;
}

.nav a {
color: #ff99cc;
margin: 0 15px;
text-decoration: none;
font-weight: bold;
}

.nav a:hover {
color: #ffffff;
}

.section {
margin: 20px 0;
padding: 20px;
background: #30183f79;
border-radius: 10px;
opacity: 0;
backdrop-filter: blur(10px);
-webkit-backdrop-filter: blur(10px); /* 為了 Safari 支援 */
transform: translateY(50px);
transition: opacity 0.6s ease-out, transform 0.6s ease-out;
}

.section.visible {
opacity: 1;
transform: translateY(0);
}

h1,
h2,
h3 {
color: #ff99cc;
}

ul {
list-style-type: disc;
padding-left: 20px;
}

#home-section {
margin: 20px 0;
padding: 20px;
background: #30183f79;
backdrop-filter: blur(10px);
-webkit-backdrop-filter: blur(10px); 
border-radius: 10px;
opacity: 0;
transform: translateY(50px);
transition: opacity 0.6s ease-out, transform 0.6s ease-out;
}

#home-section.visible {
opacity: 1;
transform: translateY(0);
}

.home-content {
display: flex;
gap: 20px;
max-width: 1200px;
margin: 0 auto;
align-items: stretch;
}

.left-column {
flex: 0 0 50%;
max-width: 50%;
position: relative;
overflow: hidden;
}

.left-column img {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
object-fit: cover;
border-radius: 10px;
}

.right-column {
flex: 1;
text-align: left;
padding: 20px;
}

@media (max-width: 960px) {
.home-content {
flex-direction: column;
}

.left-column {
max-width: 100%;
flex: 1 1 auto;
height: 600px;
position: relative;
margin-bottom: 20px;
order: 1;
}

.left-column img {
position: static;
display: block;
width: 100%;
height: 100%;
object-fit: cover;
border-radius: 10px;
}

.right-column {
max-width: 100%;
flex: 1 1 auto;
padding: 10px 0;
order: 2;
}
}

.social-buttons {
display: flex;
flex-wrap: wrap;
justify-content: center;
gap: 20px;
margin: 20px 0;
}

.button {
background: transparent;
border: 2px solid #ff69b4;
color: #ff69b4;
padding: 10px 20px;
border-radius: 5px;
text-decoration: none;
font-weight: bold;
transition: background 0.3s, color 0.3s;
text-align: center;
flex: 0 0 calc(25% - 20px);
box-sizing: border-box;
}

.button:hover {
background: #ff69b4;
color: #ffffff;
}

@media (max-width: 768px) {
.button {
flex: 0 0 calc(50% - 20px);
}
}

.footer {
text-align: center;
color: #ffb8db;
padding: 10px;
background: #1a1a2e;
margin-top: 10px;
transition: opacity 0.5s ease;
}

.partner-header {
text-align: left;
margin-bottom: 20px;
}

.partner-header h2 {
margin: 0;
font-size: 2em;
color: #ff99cc;
}

.partner-content {
display: flex;
gap: 20px;
align-items: flex-start;
}

.partner-left {
flex: 0 0 40%;
max-width: 40%;
}

.partner-left img {
width: 100%;
height: auto;
border-radius: 10px;
}

.partner-right {
flex: 1;
text-align: left;
}

.partner-right a {
color: #ffffff;
margin: 0 15px;
text-decoration: underline;
}

.partner-right a:hover {
color: #ff69b4;
}

.partner-buttons {
display: flex;
justify-content: center;
gap: 10px;
margin-top: 20px;
}

.partner-buttons .button {
border: 2px solid #ff69b4;
color: #ff69b4;
padding: 10px 20px;
border-radius: 5px;
text-decoration: none;
font-weight: bold;
transition: background 0.3s, color 0.3s;
}

.partner-buttons .button:hover {
background: #ff69b4;
color: #ffffff;
}

@media (max-width: 960px) {
.partner-header {
text-align: center;
}

.partner-content {
flex-direction: column;
align-items: center;
text-align: center;
}

.partner-left {
max-width: 100%;
}

.partner-right {
max-width: 100%;
padding: 15px 0;
}
}

@media (max-width: 768px) {
.partner-buttons {
flex-wrap: wrap;
gap: 10px;
}

.partner-buttons .button {
flex: 0 0 calc(50% - 10px);
text-align: center;
}

.partner-buttons .button:nth-child(odd):only-child {
flex: 0 0 100%;
}
}

.donators-grid {
display: flex;
flex-wrap: wrap;
justify-content: center;
gap: 20px;
}

.donator {
flex: 0 0 calc(25% - 20px);
box-sizing: border-box;
text-align: center;
box-shadow: 0 0 15px rgba(255, 101, 242, 0.685);
background: #1a1a2e85;
padding: 10px;
border-radius: 10px;
}

.donator img {
width: 100px;
height: 100px;
border-radius: 50%;
margin: 10px 0;
}

@media (max-width: 960px) {
.donator {
flex: 0 0 calc(50% - 20px);
}
}

@media (max-width: 600px) {
.donator {
flex: 0 0 100%;
}
}

.second_page {
display: none;
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: linear-gradient(to bottom, #2a1a3d, #000000);
z-index: 100;
overflow-y: auto;
padding-top: 60px;
}

.second_page.active {
display: block;
}

.main-content {
transition: opacity 0.5s ease;
}

.main-content.hidden {
opacity: 0;
pointer-events: none;
}

.secret-link {
color: #ffb8db;
text-decoration: none;
font-size: inherit;
transition: font-size 0.3s ease;
}

.secret-link:hover {
font-size: 1.2em;
}

.second_page .section p {
word-wrap: break-word;
white-space: normal;
line-height: 1.5;
margin: 10px 0;
}

.back-button {
position: fixed;
bottom: 20px;
right: 20px;
background: #ff69b4;
color: white;
border: none;
padding: 10px 15px;
border-radius: 5px;
cursor: pointer;
z-index: 1001;
font-weight: bold;
}

.back-button:hover {
background: #ff99cc;
}

.custom-table {
width: 80%;
max-width: 100%;
margin: 20px auto;
border-collapse: collapse;
table-layout: auto;
}

.custom-table th,
.custom-table td {
padding: 10px;
text-align: center;
font-size: 24px;
word-wrap: break-word;
white-space: normal;
}

.custom-table th {
color: #ff69b4;
text-shadow: 0px 0px 8px #ff69b4;
border-bottom: 2px solid white;
}

.custom-table td {
color: #ffffff;
text-shadow: 0px 0px 8px #ffffff;
border-bottom: 1px solid #555;
}

.partner-right img {
max-width: 100%;
height: auto;
display: block;
border-radius: 10px;
}

@media (max-width: 960px) {
.partner-right img {
display: none;
}
}

.top-row {
display: flex;
flex-wrap: wrap;
align-items: center;
gap: 10px;
min-width: 0;
word-break: break-word;
}

.top-row > * {
flex-shrink: 1;
min-width: 100px;
}

.hamburger {
display: none;
font-size: 24px;
background: none;
border: none;
cursor: pointer;
color: white;
}

@media (max-width: 768px) {
.custom-table {
width: 100%;
}

.custom-table th,
.custom-table td {
font-size: 18px;
padding: 8px;
}
}

@media (max-width: 480px) {
.custom-table th,
.custom-table td {
font-size: 14px;
padding: 6px;
}
}

@media (max-width: 768px) {
.hamburger {
display: block;
}

.nav-menu {
display: flex;
flex-direction: column;
gap: 10px;
max-height: 0;
overflow: hidden;
transition: max-height 0.5s ease-in-out, opacity 0.5s ease-in-out;
opacity: 0;
}

.nav-menu.active {
max-height: 500px;
opacity: 1;
}

.nav-menu a {
transform: translateY(-20px);
opacity: 0;
transition: transform 0.3s ease-out, opacity 0.3s ease-out;
}

.nav-menu.active a {
transform: translateY(0);
opacity: 1;
}

.nav-menu a:nth-child(1) {
transition-delay: 0.05s;
}

.nav-menu a:nth-child(2) {
transition-delay: 0.1s;
}

.nav-menu a:nth-child(3) {
transition-delay: 0.15s;
}

.nav-menu a:nth-child(4) {
transition-delay: 0.2s;
}

.nav-menu a:nth-child(5) {
transition-delay: 0.25s;
}

.nav-menu a:nth-child(6) {
transition-delay: 0.3s;
}

.nav-menu a:nth-child(7) {
transition-delay: 0.35s;
}

.nav-menu a:nth-child(8) {
transition-delay: 0.4s;
}

.nav-menu a:nth-child(9) {
transition-delay: 0.45s;
}

.nav-menu a:nth-child(10) {
transition-delay: 0.5s;
}

.nav-menu a:nth-child(11) {
transition-delay: 0.55s;
}
.nav-menu a:nth-child(12) {
transition-delay: 0.6s;
}
}
#bg-video {
position: fixed;
top: 0;
left: 0;
min-width: 100vw;
min-height: 100vh;
width: 100vw;
height: 100vh;
object-fit: cover;
object-position: center;
z-index: -2;
pointer-events: none;
}
#bg-overlay {
position: fixed;
top: 0; left: 0; right: 0; bottom: 0;
width: 100vw;
height: 100vh;
background: rgba(0, 0, 0, 0.5);
z-index: -1;
pointer-events: none;
}
body {
background: none !important;/* 不要舊的漸層背景 */
}

.donator.gold {
box-shadow: 0 0 20px 6px gold !important;
}
.donator.silver {
box-shadow: 0 0 20px 6px silver !important;
}
.donator.bronze {
box-shadow: 0 0 20px 6px #cd7f32 !important;
}

/* 分類布局 */
@media (min-width: 961px) {
.donators-grid {
display: flex;
flex-wrap: wrap;
justify-content: center;
gap: 20px;
}

.donators-grid > .donator:nth-child(1),
.donators-grid > .donator:nth-child(2),
.donators-grid > .donator:nth-child(3) {
flex: 0 0 calc(33.333% - 20px);
}

.donators-grid > .donator:nth-child(n+4) {
flex: 0 0 calc(25% - 20px);
}
}

@media (max-width: 960px) and (min-width: 769px) {
.donator {
flex: 0 0 calc(33.333% - 20px);
}
}

@media (max-width: 768px) {
.donator {
flex: 0 0 100%;
}
}
