Spaces:
Running
Running
| * { | |
| margin: 0; | |
| padding: 0; | |
| box-sizing: border-box; | |
| font-family: "微軟正黑體", "Microsoft JhengHei", Arial, sans-serif; | |
| } | |
| body { | |
| background-size: cover; | |
| background-position: center; | |
| background-repeat: no-repeat; | |
| background-attachment: fixed; | |
| min-height: 100vh; | |
| display: flex; | |
| justify-content: center; | |
| align-items: center; | |
| overflow-x: hidden; | |
| } | |
| body.home-page { | |
| background-image: url('Theme.jpg'); | |
| } | |
| body.prologue-page { | |
| background-image: url('palace.jpg'); | |
| } | |
| body.spring-page { | |
| background-image: url('guadian.jpg'); | |
| } | |
| .game-container { | |
| text-align: center; | |
| width: 100%; | |
| max-width: 800px; | |
| padding: 20px; | |
| margin: 20px; | |
| } | |
| .game-title { | |
| color: white; | |
| font-size: 2.5rem; | |
| text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.8), | |
| 0 0 10px rgba(255, 255, 255, 0.5), | |
| 0 0 20px rgba(0, 150, 255, 0.5); | |
| margin-bottom: 50px; | |
| letter-spacing: 3px; | |
| } | |
| .menu-container { | |
| background-color: rgba(0, 0, 0, 0.6); | |
| border: 3px solid rgba(255, 140, 0, 0.7); /* 橘色邊框 */ | |
| border-radius: 10px; | |
| padding: 20px; | |
| width: 100%; | |
| max-width: 300px; | |
| margin: 0 auto; | |
| } | |
| .menu-btn { | |
| display: block; | |
| width: 100%; | |
| padding: 12px; | |
| margin: 10px 0; | |
| background-color: rgba(255, 140, 0, 0.8); /* 橘色按鈕 */ | |
| color: white; | |
| border: none; | |
| border-radius: 5px; | |
| font-size: 1.2rem; | |
| cursor: pointer; | |
| transition: all 0.3s; | |
| text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.8); | |
| } | |
| .menu-btn:hover { | |
| background-color: rgba(255, 165, 0, 0.9); /* 橘色按鈕懸停效果 */ | |
| transform: scale(1.05); | |
| box-shadow: 0 0 15px rgba(255, 165, 0, 0.5); /* 橘色光暈 */ | |
| } | |
| /* 彈窗樣式 */ | |
| .modal { | |
| display: none; | |
| position: fixed; | |
| z-index: 1; | |
| left: 0; | |
| top: 0; | |
| width: 100%; | |
| height: 100%; | |
| background-color: rgba(0, 0, 0, 0.7); | |
| overflow-y: auto; | |
| } | |
| .modal-content { | |
| background-color: rgba(0, 0, 0, 0.8); | |
| color: white; | |
| margin: 10% auto; | |
| padding: 20px; | |
| border: 2px solid rgba(255, 140, 0, 0.7); /* 橘色邊框 */ | |
| border-radius: 10px; | |
| width: 90%; | |
| max-width: 500px; | |
| box-shadow: 0 0 20px rgba(255, 140, 0, 0.3); /* 橘色光暈 */ | |
| animation: modalFadeIn 0.5s; | |
| } | |
| @keyframes modalFadeIn { | |
| from {opacity: 0; transform: translateY(-50px);} | |
| to {opacity: 1; transform: translateY(0);} | |
| } | |
| .close-btn, .close-welcome-btn { | |
| color: #aaa; | |
| float: right; | |
| font-size: 28px; | |
| font-weight: bold; | |
| cursor: pointer; | |
| } | |
| .close-btn:hover, .close-welcome-btn:hover { | |
| color: white; | |
| } | |
| .modal-content h2 { | |
| margin-bottom: 20px; | |
| text-align: center; | |
| color: rgba(255, 165, 0, 0.9); /* 橘色標題 */ | |
| } | |
| #player-id { | |
| width: 100%; | |
| padding: 10px; | |
| margin-bottom: 15px; | |
| background-color: rgba(255, 255, 255, 0.9); | |
| border: none; | |
| border-radius: 5px; | |
| font-size: 1rem; | |
| } | |
| #confirm-id, #start-adventure, .action-btn { | |
| display: block; | |
| width: 100%; | |
| padding: 10px; | |
| background-color: rgba(255, 140, 0, 0.8); /* 橘色按鈕 */ | |
| color: white; | |
| border: none; | |
| border-radius: 5px; | |
| font-size: 1.1rem; | |
| cursor: pointer; | |
| transition: all 0.3s; | |
| margin-top: 10px; | |
| } | |
| #confirm-id:hover, #start-adventure:hover, .action-btn:hover { | |
| background-color: rgba(255, 165, 0, 0.9); /* 橘色按鈕懸停效果 */ | |
| box-shadow: 0 0 15px rgba(255, 165, 0, 0.5); /* 橘色光暈 */ | |
| } | |
| .error-message { | |
| color: #ff6b6b; | |
| margin-top: 10px; | |
| text-align: center; | |
| display: none; | |
| } | |
| /* 歡迎訊息樣式 */ | |
| .welcome-content { | |
| max-width: 600px; | |
| text-align: center; | |
| } | |
| #welcome-message { | |
| margin: 20px 0; | |
| line-height: 1.8; | |
| font-size: 1.1rem; | |
| } | |
| #welcome-message p { | |
| margin-bottom: 15px; | |
| } | |
| #welcome-message .highlight { | |
| color: #ffcc00; | |
| font-weight: bold; | |
| font-size: 1.3rem; | |
| text-shadow: 0 0 10px rgba(255, 204, 0, 0.5); | |
| } | |
| /* 序章頁面樣式 */ | |
| .prologue-container { | |
| background-color: rgba(0, 0, 0, 0.7); | |
| border: 3px solid rgba(255, 140, 0, 0.7); /* 橘色邊框 */ | |
| border-radius: 10px; | |
| padding: 30px; | |
| width: 90%; | |
| max-width: 800px; | |
| margin: 0 auto; | |
| color: white; | |
| } | |
| .prologue-title { | |
| color: rgba(255, 165, 0, 0.9); /* 橘色標題 */ | |
| font-size: 2rem; | |
| margin-bottom: 30px; | |
| text-align: center; | |
| text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.8); | |
| } | |
| .prologue-content { | |
| line-height: 1.8; | |
| font-size: 1.1rem; | |
| margin-bottom: 30px; | |
| text-align: justify; | |
| } | |
| .prologue-content p { | |
| margin-bottom: 15px; | |
| } | |
| .map-image { | |
| width: 100%; | |
| max-width: 500px; | |
| margin: 20px auto; | |
| border-radius: 10px; | |
| box-shadow: 0 0 20px rgba(255, 140, 0, 0.3); /* 橘色光暈 */ | |
| } | |
| .navigation-buttons { | |
| display: flex; | |
| justify-content: space-between; | |
| margin-top: 30px; | |
| } | |
| .nav-btn { | |
| padding: 10px 20px; | |
| background-color: rgba(255, 140, 0, 0.8); /* 橘色按鈕 */ | |
| color: white; | |
| border: none; | |
| border-radius: 5px; | |
| font-size: 1rem; | |
| cursor: pointer; | |
| transition: all 0.3s; | |
| } | |
| .nav-btn:hover { | |
| background-color: rgba(255, 165, 0, 0.9); /* 橘色按鈕懸停效果 */ | |
| box-shadow: 0 0 15px rgba(255, 165, 0, 0.5); /* 橘色光暈 */ | |
| } | |
| /* 平方之泉頁面樣式 */ | |
| .spring-container { | |
| background-color: rgba(0, 0, 0, 0.7); | |
| border: 3px solid rgba(255, 140, 0, 0.7); | |
| border-radius: 10px; | |
| padding: 30px; | |
| width: 90%; | |
| max-width: 800px; | |
| margin: 0 auto; | |
| color: white; | |
| } | |
| .spring-title { | |
| color: rgba(255, 165, 0, 0.9); | |
| font-size: 2rem; | |
| margin-bottom: 30px; | |
| text-align: center; | |
| text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.8); | |
| } | |
| .spring-content { | |
| line-height: 1.8; | |
| font-size: 1.1rem; | |
| margin-bottom: 30px; | |
| text-align: justify; | |
| } | |
| .spring-content p { | |
| margin-bottom: 15px; | |
| } | |
| .start-challenge-container { | |
| text-align: center; | |
| margin-top: 30px; | |
| } | |
| /* 問答區域樣式 */ | |
| .quiz-container { | |
| padding: 20px; | |
| margin-bottom: 30px; | |
| } | |
| #question-container { | |
| margin-bottom: 30px; | |
| } | |
| #question-text { | |
| font-size: 1.5rem; | |
| margin-bottom: 20px; | |
| color: rgba(255, 165, 0, 0.9); | |
| text-align: center; | |
| } | |
| #options-container { | |
| display: grid; | |
| grid-template-columns: repeat(2, 1fr); | |
| gap: 15px; | |
| margin-bottom: 20px; | |
| } | |
| .option-btn { | |
| padding: 15px; | |
| background-color: rgba(255, 140, 0, 0.6); | |
| color: white; | |
| border: 2px solid rgba(255, 165, 0, 0.8); | |
| border-radius: 8px; | |
| font-size: 1.1rem; | |
| cursor: pointer; | |
| transition: all 0.3s; | |
| text-align: center; | |
| } | |
| .option-btn:hover { | |
| background-color: rgba(255, 165, 0, 0.8); | |
| transform: translateY(-3px); | |
| box-shadow: 0 5px 15px rgba(255, 140, 0, 0.4); | |
| } | |
| .option-btn.correct { | |
| background-color: rgba(0, 200, 0, 0.8); | |
| border-color: rgba(0, 255, 0, 0.8); | |
| } | |
| .option-btn.incorrect { | |
| background-color: rgba(200, 0, 0, 0.8); | |
| border-color: rgba(255, 0, 0, 0.8); | |
| } | |
| .option-btn.disabled { | |
| cursor: not-allowed; | |
| opacity: 0.7; | |
| } | |
| /* 進度條樣式 */ | |
| .progress-container { | |
| margin-top: 20px; | |
| } | |
| .progress-text { | |
| text-align: center; | |
| margin-bottom: 10px; | |
| font-size: 1.1rem; | |
| } | |
| .progress-bar { | |
| height: 15px; | |
| background-color: rgba(255, 255, 255, 0.2); | |
| border-radius: 10px; | |
| overflow: hidden; | |
| } | |
| #progress-fill { | |
| height: 100%; | |
| background-color: rgba(255, 165, 0, 0.8); | |
| width: 0%; | |
| transition: width 0.5s ease; | |
| } | |
| /* 完成訊息樣式 */ | |
| .completion-message { | |
| text-align: center; | |
| padding: 20px; | |
| } | |
| .completion-message h2 { | |
| color: rgba(255, 215, 0, 0.9); | |
| font-size: 1.8rem; | |
| margin-bottom: 20px; | |
| text-shadow: 0 0 10px rgba(255, 215, 0, 0.5); | |
| } | |
| .completion-message p { | |
| margin-bottom: 15px; | |
| font-size: 1.1rem; | |
| } | |
| .feedback-container { | |
| text-align: center; | |
| margin: 20px 0; | |
| font-size: 1.2rem; | |
| min-height: 30px; | |
| } | |
| /* 音樂來源註記 */ | |
| .music-credit { | |
| margin-top: 30px; | |
| padding-top: 15px; | |
| border-top: 1px solid rgba(255, 255, 255, 0.2); | |
| font-size: 0.8rem; | |
| color: rgba(255, 255, 255, 0.7); | |
| text-align: center; | |
| } | |
| .music-credit a { | |
| color: rgba(255, 165, 0, 0.9); | |
| text-decoration: none; | |
| } | |
| .music-credit a:hover { | |
| text-decoration: underline; | |
| } | |
| .small-btn { | |
| padding: 5px 10px; | |
| background-color: rgba(255, 140, 0, 0.6); | |
| color: white; | |
| border: none; | |
| border-radius: 3px; | |
| font-size: 0.8rem; | |
| cursor: pointer; | |
| margin-top: 5px; | |
| } | |
| .small-btn:hover { | |
| background-color: rgba(255, 165, 0, 0.8); | |
| } | |
| /* 響應式設計 */ | |
| @media (max-width: 768px) { | |
| .game-title { | |
| font-size: 2rem; | |
| margin-bottom: 30px; | |
| } | |
| .modal-content { | |
| margin: 20% auto; | |
| width: 95%; | |
| padding: 15px; | |
| } | |
| .prologue-container, .spring-container { | |
| padding: 20px; | |
| } | |
| .prologue-title, .spring-title { | |
| font-size: 1.8rem; | |
| } | |
| .prologue-content, .spring-content { | |
| font-size: 1rem; | |
| } | |
| #options-container { | |
| grid-template-columns: 1fr; | |
| } | |
| .option-btn { | |
| padding: 12px; | |
| } | |
| #question-text { | |
| font-size: 1.3rem; | |
| } | |
| } | |
| @media (max-width: 480px) { | |
| .game-title { | |
| font-size: 1.8rem; | |
| margin-bottom: 20px; | |
| } | |
| .menu-container { | |
| padding: 15px; | |
| } | |
| .menu-btn { | |
| padding: 10px; | |
| font-size: 1rem; | |
| } | |
| .modal-content { | |
| margin: 30% auto; | |
| padding: 15px; | |
| } | |
| .prologue-title, .spring-title { | |
| font-size: 1.5rem; | |
| } | |
| .navigation-buttons { | |
| flex-direction: column; | |
| gap: 10px; | |
| } | |
| .nav-btn { | |
| width: 100%; | |
| } | |
| .completion-message h2 { | |
| font-size: 1.5rem; | |
| } | |
| } | |