:root{--bg-primary:#0a0a12;--bg-secondary:#10101a;--bg-panel:#141422;--bg-hover:#1a1a2e;--bg-active:#22223a;--border:#1e1e35;--border-bright:#2a2a4a;--text-primary:#e0e0e8;--text-secondary:#8888a0;--text-muted:#555570;--accent:#22c55e;--accent-dim:#22c55e26;--danger:#f44;--danger-dim:#ff444426;--warning:#fa0;--warning-dim:#ffaa0026;--success:#22c55e;--success-dim:#22c55e26;--blue:#08f;--blue-dim:#0088ff26;--mono:"JetBrains Mono", "Fira Code", "SF Mono", Consolas, monospace;--sans:-apple-system, BlinkMacSystemFont, "Inter", "Segoe UI", sans-serif;--radius:8px;--radius-sm:4px;--transition:.15s ease}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--sans);color:var(--text-primary);background:var(--bg-primary);-webkit-font-smoothing:antialiased;min-height:100vh;font-size:14px}#root{flex-direction:column;min-height:100vh;display:flex}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border-bright);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}input,button,select,textarea{font-family:var(--sans);color:var(--text-primary);outline:none;font-size:14px}button{cursor:pointer;background:0 0;border:none}textarea{resize:vertical}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.mono{font-family:var(--mono);font-size:12px}.text-accent{color:var(--accent)}.text-danger{color:var(--danger)}.text-warning{color:var(--warning)}.text-muted{color:var(--text-muted)}.btn{border-radius:var(--radius);transition:all var(--transition);border:1px solid #0000;align-items:center;gap:8px;padding:10px 20px;font-size:14px;font-weight:600;display:inline-flex}.btn-primary{background:var(--accent);color:#000}.btn-primary:hover{background:#16a34a}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{background:var(--bg-hover);color:var(--text-primary);border-color:var(--border-bright)}.btn-secondary:hover{background:var(--bg-active)}.btn-danger{background:var(--danger-dim);color:var(--danger);border-color:var(--danger)}.btn-danger:hover{background:var(--danger);color:#fff}.btn-sm{padding:6px 12px;font-size:12px}.card{background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius);transition:border-color var(--transition);padding:20px}.card:hover{border-color:var(--border-bright)}.badge{text-transform:uppercase;letter-spacing:.5px;border-radius:12px;padding:2px 8px;font-size:11px;font-weight:700;display:inline-block}.badge-difesa{background:var(--blue-dim);color:var(--blue)}.badge-attacco{background:var(--danger-dim);color:var(--danger)}.badge-imboscata{color:#a4f;background:#aa44ff26}.badge-pattuglia{background:var(--warning-dim);color:var(--warning)}.badge-estrazione{background:var(--success-dim);color:var(--success)}.badge-scorta{color:var(--blue);background:#0088ff26}.badge-facile{background:var(--success-dim);color:var(--success)}.badge-medio{background:var(--warning-dim);color:var(--warning)}.badge-difficile{background:var(--danger-dim);color:var(--danger)}.input{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius);width:100%;color:var(--text-primary);transition:border-color var(--transition);padding:10px 14px}.input:focus{border-color:var(--accent)}.input::placeholder{color:var(--text-muted)}.container{max-width:1200px;margin:0 auto;padding:0 20px}.score-high{color:var(--success)}.score-mid{color:var(--warning)}.score-low{color:var(--danger)}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:.3s fadeIn}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spinner{border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:24px;height:24px;animation:.8s linear infinite spin}@media (width<=768px){body{font-size:13px}.container{padding:0 12px}.card{padding:14px}.btn{padding:8px 14px;font-size:13px}.scenario-grid{grid-template-columns:1fr!important}table{white-space:nowrap;display:block;overflow-x:auto}thead,tbody,tr{table-layout:fixed;width:100%;display:table}header{height:48px!important;padding:0 10px!important}header .brand-text{display:none}header nav{gap:0!important}header nav a{padding:4px 6px!important;font-size:11px!important}.stats-grid{grid-template-columns:1fr 1fr!important}}
