:root{--primary-color: #4CAF50;--secondary-color: #2196F3;--accent-color: #FF9800;--success-color: #4CAF50;--warning-color: #FF9800;--danger-color: #F44336;--info-color: #2196F3;--bg-gradient: linear-gradient(135deg, #667eea 0%, #764ba2 100%);--card-bg: rgba(255, 255, 255, .95);--progress-color: #4CAF50;--health-color: #F44336;--spirit-color: #2196F3;font-family:Arial,Helvetica,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%}body{background:var(--bg-gradient);color:#2c3e50;font-family:var(--font-family)}#root{min-height:100vh;display:flex;flex-direction:column}button{font-family:inherit;font-size:inherit;line-height:inherit;border:none;outline:none;cursor:pointer;transition:all .3s ease}button:focus{outline:2px solid var(--primary-color);outline-offset:2px}button:disabled{opacity:.6;cursor:not-allowed}input,textarea,select{font-family:inherit;font-size:inherit;line-height:inherit;border:1px solid #ddd;border-radius:4px;padding:8px 12px;transition:border-color .3s ease}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 2px #4caf5033}a{text-decoration:none;color:var(--primary-color);transition:color .3s ease}a:hover{color:var(--secondary-color)}ul,ol{list-style:none}img{max-width:100%;height:auto;display:block}::-webkit-scrollbar{width:8px;height:8px}::selection{background:#4caf504d;color:#2c3e50}::-moz-selection{background:#4caf504d;color:#2c3e50}@media (max-width: 768px){:root{font-size:14px}}@media (max-width: 480px){:root{font-size:13px}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media (prefers-contrast: high){:root{--primary-color: #2E7D32;--secondary-color: #1565C0;--accent-color: #E65100}}.welcome-page{min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;align-items:center;justify-content:center;padding:20px;font-family:Arial,sans-serif}.welcome-container{max-width:800px;width:100%;background:#fffffff2;border-radius:20px;padding:40px;box-shadow:0 20px 40px #0000001a;animation:fadeInUp .8s ease-out}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.welcome-header{text-align:center;margin-bottom:40px}.game-title{font-size:3rem;font-weight:700;color:#2c3e50;margin:0;text-shadow:2px 2px 4px rgba(0,0,0,.1);animation:bounce 2s infinite}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-10px)}60%{transform:translateY(-5px)}}.game-subtitle{font-size:1.2rem;color:#7f8c8d;margin:10px 0 0;font-style:italic}.welcome-content{line-height:1.6}.welcome-section{margin-bottom:30px}.welcome-section h2{color:#2c3e50;font-size:1.8rem;margin-bottom:15px}.welcome-section h3{color:#34495e;font-size:1.4rem;margin-bottom:12px}.welcome-section p{color:#555;font-size:1rem;margin-bottom:10px}.features-list{list-style:none;padding:0}.features-list li{color:#555;font-size:1rem;border-left:4px solid #3498db;padding:8px 0 8px 15px;margin-bottom:8px;background:#3498db0d;border-radius:0 8px 8px 0;transition:transform .2s ease}.features-list li:hover{transform:translate(5px);background:#3498db1a}.warning-section{background:#e74c3c1a;border:2px solid #e74c3c;border-radius:10px;padding:20px;margin:25px 0}.warning-section h3{color:#e74c3c;margin-top:0}.warning-content p{color:#c0392b;font-weight:500;margin:0}.game-rules{background:#2ecc711a;border-radius:10px;padding:20px;margin:25px 0}.game-rules h3{color:#27ae60;margin-top:0}.rules-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:15px;margin-top:15px}.rule-item{display:flex;align-items:center;gap:10px;padding:10px;background:#ffffffb3;border-radius:8px;transition:transform .2s ease}.rule-item:hover{transform:scale(1.02)}.rule-emoji{font-size:1.5rem}.start-section{text-align:center;margin-top:40px}.start-section h3{color:#2c3e50;margin-bottom:15px}.start-button{background:linear-gradient(45deg,#4caf50,#45a049);color:#fff;border:none;padding:15px 40px;font-size:1.2rem;font-weight:700;border-radius:50px;cursor:pointer;display:inline-flex;align-items:center;gap:10px;transition:all .3s ease;box-shadow:0 4px 15px #4caf504d;margin-top:20px}.start-button:hover{background:linear-gradient(45deg,#45a049,#4caf50);transform:translateY(-2px);box-shadow:0 6px 20px #4caf5066}.start-button:active{transform:translateY(0)}.start-icon{font-size:1.3rem;animation:pulse 2s infinite}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.1)}to{transform:scale(1)}}.welcome-footer{text-align:center;margin-top:40px;padding-top:20px;border-top:2px solid #ecf0f1}.welcome-footer p{color:#7f8c8d;font-size:.9rem;margin:0;font-style:italic}@media (max-width: 768px){.welcome-container{padding:20px;margin:10px}.game-title{font-size:2.2rem}.features-list li{font-size:.9rem}.rules-grid{grid-template-columns:1fr}.start-button{padding:12px 30px;font-size:1.1rem}}.game-header{display:flex;justify-content:space-between;align-items:center;padding:15px 25px;background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid rgba(255,255,255,.2);box-shadow:0 2px 20px #0000001a;position:sticky;top:0;z-index:100}.header-left,.header-right{flex:1;display:flex;align-items:center}.header-left{justify-content:flex-start}.header-right{justify-content:flex-end;gap:10px}.header-center{flex:2;display:flex;justify-content:center}.game-title{font-size:1.5rem;font-weight:700;color:#2c3e50;margin:0;text-shadow:1px 1px 2px rgba(0,0,0,.1)}.timer{display:flex;align-items:center;gap:8px;padding:8px 16px;border-radius:20px;font-weight:700;font-size:1rem;transition:all .3s ease;border:2px solid transparent}.timer.good{background:#2ecc711a;color:#27ae60;border-color:#2ecc71}.timer.warning{background:#f39c121a;color:#f39c12;border-color:#f39c12;animation:timerPulse 2s infinite}.timer.danger{background:#e74c3c1a;color:#e74c3c;border-color:#e74c3c;animation:timerBlink 1s infinite}@keyframes timerPulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes timerBlink{0%,50%,to{opacity:1}25%,75%{opacity:.7}}.timer-icon{font-size:1.1rem}.timer-text{font-family:Courier New,monospace;letter-spacing:.5px}.bilibili-button{display:flex;align-items:center;gap:8px;background:linear-gradient(45deg,#00a1d6,#fb7299);color:#fff;border:none;padding:10px 18px;border-radius:20px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #00a1d64d}.bilibili-button:hover{background:linear-gradient(45deg,#fb7299,#00a1d6);transform:translateY(-2px);box-shadow:0 6px 20px #00a1d666}.bilibili-button:active{transform:translateY(0)}.bilibili-icon{font-size:1rem}.restart-button{display:flex;align-items:center;gap:8px;background:linear-gradient(45deg,#ff7675,#fd79a8);color:#fff;border:none;padding:10px 18px;border-radius:20px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #ff76754d}.restart-button:hover{background:linear-gradient(45deg,#fd79a8,#ff7675);transform:translateY(-2px);box-shadow:0 6px 20px #ff767566}.restart-button:active{transform:translateY(0)}.restart-icon{font-size:1rem;animation:rotateIcon 2s infinite linear}@keyframes rotateIcon{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.restart-button:hover .restart-icon{animation-duration:.5s}@media (max-width: 768px){.game-header{padding:12px 15px;flex-direction:column;gap:10px}.header-left,.header-center,.header-right{flex:none}.header-center{order:-1}.game-title{font-size:1.3rem}.timer{font-size:.9rem;padding:6px 12px}.restart-button,.bilibili-button{font-size:.8rem;padding:8px 14px}.restart-text,.bilibili-text{display:none}}@media (max-width: 480px){.game-header{padding:10px}.game-title{font-size:1.1rem}.timer{font-size:.8rem;padding:5px 10px}.restart-button{padding:6px 10px}}.question-section{flex:1;display:flex;justify-content:center;align-items:flex-start;padding:20px;overflow-y:auto;min-height:0}.question-container{background:#fffffff2;border-radius:20px;padding:30px;max-width:700px;width:100%;box-shadow:0 12px 48px #0000001a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2);animation:slideInUp .6s ease-out;max-height:fit-content}@keyframes slideInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.event-type-badge{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;border-radius:20px;font-size:.9rem;font-weight:600;margin-bottom:20px}.event-type-badge.random{background:linear-gradient(45deg,#f39c12,#e67e22);color:#fff;box-shadow:0 4px 15px #f39c124d}.event-type-badge.choice{background:linear-gradient(45deg,#3498db,#2980b9);color:#fff;box-shadow:0 4px 15px #3498db4d}.badge-icon{font-size:1.1rem}.question-title{font-size:1.8rem;color:#2c3e50;margin:0 0 15px;font-weight:700}.question-description{font-size:1.1rem;color:#555;line-height:1.6;margin-bottom:25px;padding:15px;background:#3498db0d;border-left:4px solid #3498db;border-radius:0 8px 8px 0}.random-event-effects{margin:25px 0}.random-event-effects h4{color:#2c3e50;margin-bottom:15px;font-size:1.1rem}.effects-display{display:flex;flex-wrap:wrap;gap:12px}.effect-item{display:inline-flex;align-items:center;padding:8px 15px;border-radius:20px;font-weight:600;font-size:.9rem}.effect-item.positive{background:#2ecc711a;color:#27ae60;border:1px solid #2ecc71}.effect-item.negative{background:#e74c3c1a;color:#c0392b;border:1px solid #e74c3c}.continue-button{background:linear-gradient(45deg,#4caf50,#45a049);color:#fff;border:none;padding:15px 30px;font-size:1.1rem;font-weight:700;border-radius:25px;cursor:pointer;display:inline-flex;align-items:center;gap:10px;transition:all .3s ease;box-shadow:0 4px 15px #4caf504d;margin-top:20px}.continue-button:hover{background:linear-gradient(45deg,#45a049,#4caf50);transform:translateY(-2px);box-shadow:0 6px 20px #4caf5066}.options-panel{margin-top:25px}.options-title{color:#2c3e50;margin-bottom:20px;font-size:1.1rem}.options-grid{display:grid;gap:15px;margin-bottom:20px}.option-button{background:#ffffffe6;border:2px solid transparent;border-radius:15px;padding:18px 20px;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:15px;text-align:left;position:relative;overflow:hidden}.option-button:before{content:"";position:absolute;inset:0;background:var(--risk-color);opacity:.05;transition:opacity .3s ease}.option-button:hover{transform:translateY(-3px);box-shadow:0 8px 25px #00000026;border-color:var(--risk-color)}.option-button:hover:before{opacity:.1}.option-button:active{transform:translateY(-1px)}.option-number{font-size:1.2rem;font-weight:700;color:var(--risk-color);min-width:25px;text-align:center;background:#ffffffe6;border:2px solid var(--risk-color);border-radius:50%;width:30px;height:30px;display:flex;align-items:center;justify-content:center}.option-emoji{font-size:1.5rem;min-width:30px}.option-text{flex:1;font-size:1rem;font-weight:500;color:#2c3e50;line-height:1.4}.button-icon{font-size:1.2rem}@media (max-width: 768px){.question-container{padding:20px;margin:10px}.question-title{font-size:1.5rem}.question-description{font-size:1rem}.option-button{padding:15px;gap:12px}.option-number{font-size:1rem;width:25px;height:25px}.option-emoji{font-size:1.3rem}.option-text{font-size:.9rem}.risk-legend{gap:15px;flex-wrap:wrap}.effects-display{justify-content:center}}.status-panel{background:#fffffff2;border-radius:15px;padding:20px;box-shadow:0 8px 32px #0000001a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2);min-width:280px;max-height:100%;overflow-y:auto;display:flex;flex-direction:column}.panel-title{text-align:center;margin:0 0 20px;color:#2c3e50;font-size:1.2rem;font-weight:700}.status-bar{margin-bottom:20px}.status-bar:last-of-type{margin-bottom:15px}.status-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.status-emoji{font-size:1.2rem}.status-label{font-weight:600;color:#34495e;flex:1;margin-left:8px}.status-value{font-weight:700;color:#2c3e50;font-size:.9rem}.progress-container{position:relative;height:12px;border-radius:6px;overflow:hidden}.progress-background{position:absolute;inset:0;background:#ecf0f1;border-radius:6px;z-index:1}.progress-bar{position:absolute;top:0;left:0;bottom:0;border-radius:6px;transition:all .8s cubic-bezier(.4,0,.2,1);background:linear-gradient(90deg,currentColor,currentColor 70%,rgba(255,255,255,.3));z-index:2}.progress-bar.animated{animation:progressPulse .6s ease-in-out}@keyframes progressPulse{0%{transform:scaleY(1)}50%{transform:scaleY(1.2)}to{transform:scaleY(1)}}.status-warning{display:flex;align-items:center;gap:8px;background:#e74c3c1a;border:1px solid #e74c3c;border-radius:8px;padding:10px;margin-top:15px;animation:warningBlink 2s infinite}@keyframes warningBlink{0%,50%,to{background:#e74c3c1a}25%,75%{background:#e74c3c33}}.warning-icon{font-size:1.1rem}.warning-text{color:#c0392b;font-weight:600;font-size:.9rem}.status-success{display:flex;align-items:center;gap:8px;background:#2ecc711a;border:1px solid #2ecc71;border-radius:8px;padding:10px;margin-top:15px;animation:successGlow 1.5s infinite}@keyframes successGlow{0%,to{background:#2ecc711a}50%{background:#2ecc7133}}.success-icon{font-size:1.1rem}.success-text{color:#27ae60;font-weight:600;font-size:.9rem}@media (max-width: 768px){.status-panel{padding:15px;min-width:240px}.panel-title{font-size:1.1rem}.status-label{font-size:.9rem}.status-value{font-size:.8rem}}.game-page{min-height:100vh;max-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;flex-direction:column;font-family:Arial,sans-serif;overflow:hidden}.game-content{flex:1;display:flex;gap:20px;padding:20px;min-height:0;overflow:hidden}.main-content{flex:1;display:flex;flex-direction:column;min-height:0;overflow:hidden}.sidebar{width:320px;display:flex;flex-direction:column;min-height:0}@media (max-width: 1024px){.game-content{flex-direction:column;gap:15px;padding:15px}.sidebar{width:100%;order:-1}.main-content{flex:none}}@media (max-width: 768px){.game-content{padding:10px;gap:10px}}.game-page.loading{justify-content:center;align-items:center}.loading-spinner{width:50px;height:50px;border:4px solid rgba(255,255,255,.3);border-top:4px solid #fff;border-radius:50%;animation:spin 1s linear infinite}.end-page{min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;align-items:center;justify-content:center;padding:20px;font-family:Arial,sans-serif}.end-container{max-width:800px;width:100%;background:#fffffff2;border-radius:20px;padding:40px;box-shadow:0 20px 40px #0000001a;animation:slideInUp .8s ease-out}@keyframes slideInUp{0%{opacity:0;transform:translateY(50px)}to{opacity:1;transform:translateY(0)}}.result-header{text-align:center;margin-bottom:40px}.result-badge{width:80px;height:80px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:2.5rem;margin:0 auto 20px;animation:bounceIn 1s ease-out}.result-badge.success{background:linear-gradient(45deg,#4caf50,#8bc34a);box-shadow:0 8px 25px #4caf504d}.result-badge.failure{background:linear-gradient(45deg,#ff9800,#ffc107);box-shadow:0 8px 25px #ff98004d}@keyframes bounceIn{0%{transform:scale(.3);opacity:0}50%{transform:scale(1.05)}70%{transform:scale(.9)}to{transform:scale(1);opacity:1}}.result-title{font-size:2.5rem;font-weight:700;color:#2c3e50;margin:0 0 15px;animation:fadeInDown .8s ease-out .3s both}.result-subtitle{font-size:1.1rem;color:#7f8c8d;line-height:1.6;margin:0;animation:fadeInUp .8s ease-out .5s both}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.score-section{text-align:center;margin-bottom:40px;animation:fadeIn 1s ease-out .7s both}.score-display{display:flex;align-items:center;justify-content:center;gap:30px}.grade-circle{width:100px;height:100px;border-radius:50%;border:4px solid;display:flex;align-items:center;justify-content:center;background:#ffffffe6;box-shadow:0 8px 25px #0000001a}.grade-text{font-size:3rem;font-weight:700}.score-info{text-align:left}.score-number{font-size:3rem;font-weight:700;color:#2c3e50;line-height:1}.score-label{font-size:1.1rem;color:#7f8c8d;margin-top:5px}.stats-section{margin-bottom:35px;animation:fadeIn 1s ease-out .9s both}.stats-title{color:#2c3e50;font-size:1.5rem;margin-bottom:20px;text-align:center}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:20px}.stat-item{background:#ffffffb3;border-radius:15px;padding:20px;text-align:center;transition:transform .3s ease;border:2px solid transparent}.stat-item:hover{transform:translateY(-5px);background:#ffffffe6;border-color:#3498db4d}.stat-icon{font-size:2rem;margin-bottom:10px;display:block}.stat-label{font-size:.9rem;color:#7f8c8d;margin-bottom:8px}.stat-value{font-size:1.4rem;font-weight:700}.stat-value.success{color:#27ae60}.stat-value.warning{color:#f39c12}.stat-value.failure{color:#e74c3c}.events-summary{margin-bottom:35px;animation:fadeIn 1s ease-out 1.1s both}.events-title{color:#2c3e50;font-size:1.3rem;margin-bottom:15px;text-align:center}.events-stats{display:flex;justify-content:center;gap:30px;flex-wrap:wrap}.event-stat{text-align:center;padding:15px;background:#3498db1a;border-radius:10px;min-width:100px}.event-count{display:block;font-size:1.8rem;font-weight:700;color:#3498db}.event-label{font-size:.9rem;color:#7f8c8d}.tips-section{background:#2ecc711a;border-radius:15px;padding:25px;margin-bottom:30px;animation:fadeIn 1s ease-out 1.3s both}.tips-title{color:#27ae60;font-size:1.3rem;margin:0 0 15px;text-align:center}.tips-content p{color:#2c3e50;line-height:1.6;margin:0;text-align:center}.action-section{text-align:center;animation:fadeIn 1s ease-out 1.5s both}.play-again-button{background:linear-gradient(45deg,#4caf50,#45a049);color:#fff;border:none;padding:18px 40px;font-size:1.2rem;font-weight:700;border-radius:50px;cursor:pointer;display:inline-flex;align-items:center;gap:12px;transition:all .3s ease;box-shadow:0 6px 20px #4caf504d}.play-again-button:hover{background:linear-gradient(45deg,#45a049,#4caf50);transform:translateY(-3px);box-shadow:0 8px 25px #4caf5066}.play-again-button:active{transform:translateY(-1px)}.button-icon{font-size:1.3rem;animation:spin 2s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.play-again-button:hover .button-icon{animation-duration:.5s}@media (max-width: 768px){.end-container{padding:25px;margin:10px}.result-title{font-size:2rem}.result-subtitle{font-size:1rem}.score-display{flex-direction:column;gap:20px}.grade-circle{width:80px;height:80px}.grade-text,.score-number{font-size:2.5rem}.score-info{text-align:center}.stats-grid{grid-template-columns:repeat(2,1fr);gap:15px}.events-stats{gap:20px}.play-again-button{padding:15px 30px;font-size:1.1rem}}@media (max-width: 480px){.stats-grid{grid-template-columns:1fr}.events-stats{flex-direction:column;align-items:center;gap:15px}}*{margin:0;padding:0;box-sizing:border-box}html,body{height:100%;overflow-x:hidden}body{font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:linear-gradient(135deg,#667eea,#764ba2);color:#2c3e50}#root,.app{min-height:100vh;display:flex;flex-direction:column}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideIn{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:#ffffff1a;border-radius:10px}::-webkit-scrollbar-thumb{background:#ffffff4d;border-radius:10px}::-webkit-scrollbar-thumb:hover{background:#ffffff80}@media (max-width: 768px){body{font-size:14px}}@media (max-width: 480px){body{font-size:13px}}
