*{margin:0;padding:0;box-sizing:border-box}body{font-family:Microsoft YaHei,PingFang SC,sans-serif;background:linear-gradient(135deg,#667eea,#764ba2);min-height:100vh;color:#333;overflow-x:auto}.final-game-container{width:100%;min-height:100vh;padding:15px}.game-header-final{background:rgba(255,255,255,.98);border-radius:15px;padding:20px;margin-bottom:20px;box-shadow:0 10px 30px rgba(0,0,0,.2)}.game-title{font-size:2.2em;text-align:center;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;margin-bottom:15px}.global-controls{display:flex;justify-content:center;align-items:center;gap:20px;flex-wrap:wrap}.round-display-global{font-size:1.3em;font-weight:700;color:#667eea;padding:8px 20px;background:white;border-radius:10px;border:2px solid #667eea}.btn-global-action{padding:10px 24px;font-size:1em;font-weight:700;background:linear-gradient(135deg,#667eea,#764ba2);color:white;border:none;border-radius:10px;cursor:pointer;transition:all .3s ease}.btn-global-action:hover{transform:translateY(-2px);box-shadow:0 5px 15px rgba(0,0,0,.3)}.main-game-area{display:flex;gap:15px;max-width:1600px;margin:0 auto}.side-panel{background:rgba(255,255,255,.95);border-radius:15px;padding:20px;box-shadow:0 10px 30px rgba(0,0,0,.2);width:220px;max-height:85vh;overflow-y:auto}.side-panel h3{color:#495057;margin-bottom:15px;font-size:1.2em;border-bottom:2px solid #e9ecef;padding-bottom:8px}#liveRanking{display:flex;flex-direction:column;gap:8px}.ranking-item{display:flex;align-items:center;padding:8px;background:white;border-radius:8px;transition:all .3s ease}.ranking-item:hover{transform:translateX(5px);box-shadow:0 3px 10px rgba(0,0,0,.1)}.rank-num{font-size:1.2em;font-weight:700;color:#667eea;width:30px}.rank-company{flex:1;font-weight:700;margin:0 8px}.rank-score{font-weight:700;color:#28a745}#gameLog{max-height:200px;overflow-y:auto}.log-item{font-size:.85em;color:#6c757d;border-left:2px solid #667eea;padding:5px 5px 5px 8px;margin:5px 0}.rules-content{font-size:.9em}.rule-item{padding:5px 0;color:#495057}.grid-legend{display:flex;flex-direction:column;gap:5px;font-size:.9em}.grid-legend>div{display:flex;align-items:center;gap:8px}.legend-color{width:20px;height:20px;border-radius:4px;border:1px solid #dee2e6}.companies-container{flex:1;display:grid;grid-template-columns:repeat(2,1fr);gap:15px;align-content:start}.company-panel-final{background:rgba(255,255,255,.98);border-radius:12px;overflow:hidden;box-shadow:0 8px 20px rgba(0,0,0,.15);transition:all .3s ease}.company-panel-final:hover{transform:translateY(-3px);box-shadow:0 12px 30px rgba(0,0,0,.2)}.panel-header{padding:12px 15px;color:white}.company-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.company-title h3{font-size:1.3em;margin:0}.status-badge{padding:4px 12px;background:rgba(255,255,255,.3);border-radius:15px;font-size:.85em;font-weight:700}.status-badge.status-active{background:rgba(40,167,69,.9)}.status-badge.status-done{background:rgba(108,117,125,.9)}.status-badge.status-waiting{background:rgba(255,193,7,.9)}.company-stats{display:flex;gap:15px;font-size:.95em}.company-stats span{display:flex;align-items:center;gap:5px}.company-stats i{font-size:.9em}.panel-body{padding:15px;background:#f8f9fa}.mini-board-container{background:white;padding:10px;border-radius:8px;margin-bottom:15px}.mini-board-grid{display:grid;grid-template-columns:repeat(9,1fr);grid-template-rows:repeat(3,1fr);gap:2px;width:100%}.mini-cell{aspect-ratio:1;border:1px solid #dee2e6;border-radius:3px;display:flex;align-items:center;justify-content:center;position:relative;background:white;cursor:pointer;transition:all .2s ease}.mini-cell:hover{transform:scale(1.15);z-index:10;box-shadow:0 3px 8px rgba(0,0,0,.2)}.cell-number{font-size:.65em;color:#6c757d;position:absolute;top:2px;right:2px}.cell-start{background:linear-gradient(135deg,#ffeaa7,#fdcb6e)}.cell-challenge{background:linear-gradient(135deg,#a29bfe,#6c5ce7)}.cell-event{background:linear-gradient(135deg,#fd79a8,#e84393)}.cell-badluck{background:linear-gradient(135deg,#2d3436,#636e72);border:2px solid #d63031}.cell-normal{background:white}.company-piece{position:absolute;width:70%;height:70%;border-radius:50%;border:2px solid white;box-shadow:0 2px 5px rgba(0,0,0,.3);display:flex;align-items:center;justify-content:center;font-size:.8em;font-weight:700;color:white;z-index:5;animation:bounce 2s infinite}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}.control-zone{display:flex;gap:10px;margin-bottom:15px}.dice-zone{gap:10px;flex:1}.dice-display,.dice-zone{display:flex;align-items:center}.dice-display{width:45px;height:45px;background:white;border:2px solid #333;border-radius:8px;justify-content:center;font-size:1.5em;font-weight:700;box-shadow:0 3px 8px rgba(0,0,0,.2)}.btn-end,.btn-roll{padding:8px 16px;font-size:.95em;font-weight:700;border:none;border-radius:8px;cursor:pointer;transition:all .3s ease;color:white}.btn-roll{background:linear-gradient(135deg,#11998e,#38ef7d);flex:1}.btn-end{background:linear-gradient(135deg,#667eea,#764ba2)}.btn-end:hover:not(:disabled),.btn-roll:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 5px 12px rgba(0,0,0,.2)}.btn-end:disabled,.btn-roll:disabled{opacity:.5;cursor:not-allowed;background:#6c757d}.action-zone{background:white;border-radius:8px;padding:15px;margin-top:10px;box-shadow:inset 0 2px 8px rgba(0,0,0,.1)}.action-content{animation:slideIn .3s ease}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.action-content h4{margin-bottom:10px;color:#495057}.challenge-content{border-left:4px solid #6c5ce7;padding-left:10px}.challenge-title{font-size:1.1em;font-weight:700;color:#6c5ce7;margin-bottom:8px}.challenge-desc{font-size:.9em;color:#6c757d;margin-bottom:8px}.challenge-reward{font-weight:700;color:#28a745;margin-bottom:10px}.challenge-content textarea{width:100%;padding:8px;border:1px solid #dee2e6;border-radius:5px;resize:vertical;font-size:.9em;margin-bottom:10px}.action-buttons{display:flex;gap:10px}.btn-skip,.btn-submit{padding:8px 16px;font-size:.9em;font-weight:700;border:none;border-radius:5px;cursor:pointer;transition:all .3s ease;flex:1}.btn-submit{background:#28a745;color:white}.btn-skip{background:#dc3545;color:white}.btn-skip:hover,.btn-submit:hover{transform:scale(1.05)}.event-content{border-left:4px solid #e84393;padding-left:10px}.event-name{font-size:1.1em;font-weight:700;color:#e84393;margin-bottom:8px}.event-desc{font-size:.9em;color:#6c757d;margin-bottom:8px}.event-effect{font-weight:700;color:#17a2b8}.badluck-content{border-left:4px solid #d63031;padding-left:10px}.badluck-name{font-size:1.1em;font-weight:700;color:#d63031;margin-bottom:8px}.badluck-desc{font-size:.9em;color:#6c757d}.toast{position:fixed;top:20px;right:20px;padding:15px 20px;border-radius:8px;color:white;font-weight:700;z-index:2000;animation:toastSlide .3s ease;box-shadow:0 5px 15px rgba(0,0,0,.3)}@keyframes toastSlide{0%{transform:translateX(100%);opacity:0}to{transform:translateX(0);opacity:1}}.toast-info{background:#17a2b8}.toast-success{background:#28a745}.toast-warning{background:#ffc107;color:#333}.toast-error{background:#dc3545}.game-result-layer{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.9);display:flex;align-items:center;justify-content:center;z-index:3000;animation:fadeIn .5s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.game-result-layer h2{color:white;text-align:center;margin-bottom:30px;font-size:2em}.final-rankings{background:white;padding:30px;border-radius:15px;max-width:500px;width:90%}.final-rank-item{display:flex;align-items:center;padding:15px;margin:10px 0;background:#f8f9fa;border-radius:8px;transition:all .3s ease}.final-rank-item:hover{transform:scale(1.05)}.medal{font-size:2em;margin-right:15px}.final-rank-item .company{font-size:1.3em;font-weight:700;flex:1}.final-score{font-size:1.5em;font-weight:700;color:#28a745;margin-right:10px}.detail{font-size:.9em;color:#6c757d}.btn-restart{display:block;margin:30px auto 0;padding:15px 40px;font-size:1.2em;font-weight:700;background:linear-gradient(135deg,#667eea,#764ba2);color:white;border:none;border-radius:10px;cursor:pointer;transition:all .3s ease}.btn-restart:hover{transform:scale(1.05);box-shadow:0 5px 20px rgba(0,0,0,.3)}@media (max-width:1400px){.main-game-area{flex-direction:column}.side-panel{width:100%;max-height:none;display:flex;gap:30px}.side-panel>div{flex:1}.companies-container{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.companies-container{grid-template-columns:1fr}.game-title{font-size:1.5em}.global-controls,.side-panel{flex-direction:column}}.loading-content{text-align:center;padding:20px;background:linear-gradient(135deg,#74b9ff,#0984e3);color:white;border-radius:12px}.loading-animation{display:flex;flex-direction:column;align-items:center;gap:15px;margin:20px 0}.loading-spinner{width:40px;height:40px;border-radius:50%;border:4px solid rgba(255,255,255,.3);border-top-color:white;animation:spin 1s ease-in-out infinite}@keyframes spin{to{transform:rotate(1turn)}}.loading-text{font-size:1.1em;font-weight:500}.loading-tips{background:rgba(255,255,255,.1);padding:15px;border-radius:8px;font-size:.9em}.loading-tips p{margin:5px 0}.score-result-content{background:linear-gradient(135deg,#00b894,#00a085);color:white;border-radius:12px;padding:20px}.score-overview{display:flex;justify-content:space-around;background:rgba(255,255,255,.1);padding:15px;border-radius:8px;margin-bottom:15px}.final-score,.reward-amount{text-align:center}.reward-label,.score-label{display:block;font-size:.9em;opacity:.8;margin-bottom:5px}.reward-value,.score-value{display:block;font-size:1.4em;font-weight:700}.score-dimensions{background:rgba(255,255,255,.1);padding:15px;border-radius:8px;margin-bottom:15px}.score-dimensions h5{margin-bottom:10px;text-align:center;font-size:1.1em}.score-dimension{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid rgba(255,255,255,.2)}.score-dimension:last-child{border-bottom:none}.dimension-name{font-weight:700;min-width:80px}.dimension-comment{flex:1;text-align:left;margin-left:10px}.score-summary{background:rgba(255,255,255,.1);padding:15px;border-radius:8px;margin-bottom:15px}.score-summary h5{margin-bottom:10px;text-align:center;font-size:1.1em}.score-summary p{line-height:1.5;text-align:center}.score-actions{text-align:center;margin-top:20px}.btn-confirm{background:rgba(255,255,255,.2);color:white;border:2px solid white;padding:12px 30px;border-radius:25px;font-weight:700;cursor:pointer;transition:all .3s ease;font-size:1em}.btn-confirm:hover{background:white;color:#00b894;transform:scale(1.05)}@media (max-width:768px){.score-overview{flex-direction:column;gap:15px}.score-dimension{flex-direction:column;align-items:flex-start;gap:5px}.dimension-comment{margin-left:0;width:100%}}