@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";@import"https://fonts.googleapis.com/css2?family=Fira+Code:wght@400;500;600;700&display=swap";:root{--bg: #0A0A0B;--surface: #15151A;--primary: #7C5CFA;--primary-dark: #6447E0;--accent: #8B5CF6;--text: #FAFAFA;--text-muted: #9CA3AF;--border: #27272A;--success: #22C55E;--warning: #F59E0B;--danger: #EF4444;--radius: 12px;--shadow: 0 1px 3px rgba(0,0,0,.08), 0 1px 2px rgba(0,0,0,.04)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Inter,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei,sans-serif;background:var(--bg);color:var(--text);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{display:flex;flex-direction:column;min-height:100vh}.app-container{display:flex;flex-direction:column;min-height:100vh;background-color:var(--bg);color:var(--text);position:relative;overflow:hidden}.loading-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#000c;display:flex;flex-direction:column;justify-content:center;align-items:center;z-index:1000;color:var(--primary);font-size:1.2rem}.spinner{animation:spin 1s linear infinite;margin-bottom:1rem}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.toast-message{position:fixed;top:20px;left:50%;transform:translate(-50%);background:var(--accent);color:var(--bg);padding:10px 20px;border-radius:var(--radius);box-shadow:var(--shadow);z-index:1001;font-size:.9rem;display:flex;align-items:center;gap:8px}.app-header{background-color:var(--surface);padding:1rem 1.5rem;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--border);box-shadow:var(--shadow);z-index:10}.app-title{font-size:1.8rem;font-weight:700;color:var(--primary);display:flex;align-items:center;gap:8px}.cloud-status{display:flex;align-items:center;gap:5px;color:var(--text-muted);font-size:.85rem}.cloud-text{margin-left:4px}.app-nav{display:flex;justify-content:center;padding:1rem 0;background-color:var(--surface);border-bottom:1px solid var(--border);box-shadow:var(--shadow);z-index:9}.nav-button{background:none;border:none;color:var(--text-muted);font-size:1rem;font-weight:500;padding:.75rem 1.2rem;margin:0 .5rem;border-radius:var(--radius);cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:8px}.nav-button:hover{color:var(--primary);background-color:#ffffff14}.nav-button.active{color:var(--accent);background-color:#8b5cf626;box-shadow:0 0 0 2px var(--accent)}.app-main{flex-grow:1;padding:2rem;display:flex;justify-content:center;align-items:flex-start;overflow-y:auto}.screen{background-color:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);padding:2.5rem;max-width:900px;width:100%;text-align:center;display:flex;flex-direction:column;gap:1.5rem}.screen-title{font-size:2rem;color:var(--primary);margin-bottom:1rem;font-weight:700}.description-text{font-size:1.1rem;color:var(--text-muted);margin-bottom:1.5rem;text-align:left}.game-screen-layout{display:grid;grid-template-columns:1fr 2fr 1fr;gap:2rem;width:100%;max-width:1400px}.game-controls-panel,.game-world-panel,.game-log-panel{background-color:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.5rem;display:flex;flex-direction:column;gap:1rem}.panel-title{font-size:1.3rem;color:var(--primary);display:flex;align-items:center;gap:8px;margin-bottom:.5rem}.code-editor{background-color:var(--bg);border:1px solid var(--border);border-radius:var(--radius);padding:1rem;color:#e0e0e0;font-family:Fira Code,monospace;font-size:.95rem;min-height:400px;resize:vertical;flex-grow:1;outline:none;transition:border-color .2s ease}.code-editor:focus{border-color:var(--primary)}.control-buttons{display:flex;gap:.8rem;justify-content:center;margin-top:1rem}.primary-button,.secondary-button{padding:.8rem 1.2rem;border-radius:var(--radius);font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:8px;text-decoration:none}.primary-button{background:linear-gradient(90deg,var(--primary) 0%,var(--accent) 100%);color:var(--bg);border:none;box-shadow:var(--shadow)}.primary-button:hover:not(:disabled){background:linear-gradient(90deg,var(--accent) 0%,var(--primary) 100%);box-shadow:0 2px 8px #8b5cf666}.secondary-button{background-color:transparent;color:var(--accent);border:2px solid var(--accent)}.secondary-button:hover:not(:disabled){background-color:#8b5cf61a;color:var(--primary)}.primary-button:disabled,.secondary-button:disabled{opacity:.5;cursor:not-allowed}.game-world-panel{align-items:center}.game-info-bar{display:flex;justify-content:space-around;width:100%;margin-bottom:1rem;background-color:var(--bg);padding:.8rem;border-radius:var(--radius);border:1px solid var(--border)}.info-item{font-size:.95rem;color:var(--text-muted);display:flex;align-items:center;gap:4px}.info-value{font-weight:600;color:var(--primary)}.status-running{color:var(--success)}.status-stopped{color:var(--text-muted)}.status-game_over_win{color:var(--success)}.status-game_over_lose{color:var(--danger)}.player-base-health .info-value{color:var(--primary)}.ai-base-health .info-value{color:var(--danger)}.game-grid{display:grid;border:1px solid var(--border);background-color:var(--bg);margin:0 auto;border-radius:var(--radius);overflow:hidden}.game-tile{border:1px solid rgba(255,255,255,.05);display:flex;justify-content:center;align-items:center}.player-stats{background-color:var(--bg);border:1px solid var(--border);border-radius:var(--radius);padding:1rem;margin-top:1rem;text-align:left}.stats-title{font-size:1.1rem;color:var(--accent);margin-bottom:.5rem}.player-stats p{font-size:.9rem;color:var(--text-muted);margin-bottom:.3rem}.player-stats .stat-value,.player-stats .stat-item{font-weight:600;color:var(--text);margin-right:.5rem}.game-log-panel{justify-content:space-between}.log-output{background-color:var(--bg);border:1px solid var(--border);border-radius:var(--radius);padding:1rem;flex-grow:1;overflow-y:auto;font-family:Fira Code,monospace;font-size:.85rem;color:var(--text-muted);line-height:1.4;height:100%;max-height:600px}.log-entry{margin-bottom:.2rem}.settings-screen{text-align:left;max-width:800px}.settings-section{background-color:var(--bg);border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem;margin-bottom:1.5rem}.section-title{font-size:1.2rem;color:var(--primary);margin-bottom:1rem}.settings-section .description-text{font-size:.95rem;line-height:1.8;color:var(--text-muted)}.settings-section .code-snippet{background-color:#1a1a1a;color:#e0e0e0;padding:1rem;border-radius:var(--radius);overflow-x:auto;font-family:Fira Code,monospace;font-size:.9rem;border:1px solid var(--border)}@media (max-width: 1200px){.game-screen-layout{grid-template-columns:1fr}.app-main,.game-controls-panel,.game-world-panel,.game-log-panel{padding:1rem}}@media (max-width: 768px){.app-header{flex-direction:column;gap:10px;padding:1rem}.app-nav{flex-wrap:wrap;padding:.5rem}.nav-button{margin:.25rem;padding:.6rem .8rem;font-size:.9rem}.screen-title{font-size:1.5rem}.description-text{font-size:.9rem}.primary-button,.secondary-button{font-size:.9rem;padding:.7rem 1rem}.code-editor{min-height:250px;font-size:.85rem}.game-info-bar{flex-wrap:wrap;gap:.5rem}.info-item{font-size:.85rem}.log-output{font-size:.75rem;max-height:300px}}@media (max-width: 480px){.app-title{font-size:1.5rem}.nav-button{font-size:.8rem;padding:.5rem .7rem}.panel-title{font-size:1.1rem}}
